home *** CD-ROM | disk | FTP | other *** search
Wrap
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head><!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>core - Apache HTTP Server</title> <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> <link href="../images/favicon.ico" rel="shortcut icon" /></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> <p class="apache">Apache HTTP Server Version 2.2</p> <img alt="" src="../images/feather.gif" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.2</a> > <a href="./">Module</a></div> <div id="page-content"> <div id="preamble"><h1>Apache-Kernfunktionen</h1> <div class="toplang"> <p><span>Verfⁿgbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch"> de </a> | <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> </div> <div class="outofdate">Diese ▄bersetzung ist m÷glicherweise nicht mehr aktuell. Bitte prⁿfen Sie die englische Version auf die neuesten ─nderungen.</div> <table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>StΣndig verfⁿgbare Kernfunktionen des Apache HTTP Servers</td></tr> <tr><th><a href="module-dict.html#Status">Status:</a></th><td>Core</td></tr></table> </div> <div id="quickview"><h3 class="directives">Direktiven</h3> <ul id="toc"> <li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> <li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a>-<a name="acceptpathinfo" id="acceptpathinfo">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ressourcen lassen angehΣngte Pfadangaben zu</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AcceptPathInfo Default</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Verfⁿgbar ab Apache 2.0.30</td></tr> </table> <p>Die Direktive steuert, ob Anfragen akzeptiert oder abgewiesen werden, bei denen nach der tatsΣchlichen Datei (oder einer nicht existierenden Datei in einem existierenden Verzeichnis) zusΣtzliche Pfadangaben folgen. Die angehΣngte Pfadangabe kann Skripten in der Umgebungsvariable <code>PATH_INFO</code> verfⁿgbar gemacht werden.</p> <p>Nehmen wir beispielsweise an, dass <code>/test/</code> auf ein Verzeichnis zeigt, welches lediglich eine Datei <code>here.html</code> enthΣlt. Dann wird bei Anfragen nach <code>/test/here.html/more</code> und <code>/test/nothere.html/more</code> beides Mal <code>/more</code> als <code>PATH_INFO</code> ermittelt.</p> <p>Die drei m÷glichen Argumente fⁿr die Direktive <code class="directive">AcceptPathInfo</code> sind:</p> <dl> <dt><code>Off</code></dt><dd>Eine Anfrage wird nur dann akzeptiert, wenn sie exakt auf ein existierendes Verzeichnis (oder eine Datei) abgebildet werden kann. Daher wⁿrde eine Anfrage mit einer nach dem tatsΣchlichen Dateinamen angehΣngten Pfadangabe, wie <code>/test/here.html/more</code> im obigen Beispiel, den Fehler 404 NOT FOUND <span class="transnote">(<em>Anm.d.▄.:</em> nicht gefunden)</span> zurⁿckgeben.</dd> <dt><code>On</code></dt> <dd>Eine Anfrage wird akzeptiert, wenn eine vorangestellte Pfadangabe auf ein existierendes Verzeichnis abgebildet werden kann. Das obige Beispiel <code>/test/here.html/more</code> wird akzeptiert, wenn <code>/test/here.html</code> auf eine gⁿltige Datei zeigt.</dd> <dt><code>Default</code></dt> <dd>Die Behandlung von Anfragen mit angehΣngten Pfadangaben wird von dem fⁿr die Anfrage verantwortlichen <a href="../handler.html">Handler</a> bestimmt. Der Core-Handler fⁿr gew÷hnliche Dateien weist <code>PATH_INFO</code>-Zugriffe standardmΣ▀ig zurⁿck. Handler, die Skripte bedienen, wie z.B. <a href="mod_cgi.html">cgi-script</a> und <a href="mod_isapi.html">isapi-isa</a>, sind im Allgemeinen darauf voreingestellt, <code>PATH_INFO</code> zu akzeptieren.</dd> </dl> <p>Das eigentliche Ziel von <code>AcceptPathInfo</code> ist es, Ihnen das ▄berschreiben der Voreinstellung der Handler bezⁿglich der Akzeptanz oder Ablehnung von <code>PATH_INFO</code> zu erlauben. Eine solche ─nderung ist zum Beispiel notwendig, wenn Sie einen <a href="../filter.html">Filter</a> wie <a href="mod_include.html">INCLUDES</a> verwenden, um Inhalte abhΣngig von <code>PATH_INFO</code> zu generieren. Der Core-Handler wⁿrde die Anfrage normalerweise abweisen. Verwenden Sie die folgende Konfiguration, um dennoch solch ein Skript zu erm÷glichen.</p> <div class="example"><p><code> <Files "mypaths.shtml"><br /> <span class="indent"> Options +Includes<br /> SetOutputFilter INCLUDES<br /> AcceptPathInfo On<br /> </span> </Files> </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a>-<a name="accessfilename" id="accessfilename">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Name der dezentralen Konfigurationsdateien</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AccessFileName <var>Dateiname</var> [<var>Dateiname</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AccessFileName .htaccess</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Aus dieser Namensliste sucht der Server wΣhrend der Bearbeitung einer Anfrage in jedem Verzeichnis nach der ersten existierenden Datei, sofern im betreffenden Verzeichnis dezentrale Konfigurationsdateien <a href="#allowoverride">erlaubt sind</a>. Beispiel:</p> <div class="example"><p><code> AccessFileName .acl </code></p></div> <p>Vor der Rⁿcksendung des Dokuments <code>/usr/local/web/index.html</code> wird der Server <code>/.acl</code>, <code>/usr/.acl</code>, <code>/usr/local/.acl</code> und <code>/usr/local/web/.acl</code> einlesen, solange diese nicht mit</p> <div class="example"><p><code> <Directory /><br /> <span class="indent"> AllowOverride None<br /> </span> </Directory> </code></p></div> <p>deaktiviert wurden.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> <li><a href="../configuring.html">Konfigurationsdateien</a></li> <li><a href="../howto/htaccess.html">.htaccess-Dateien</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a>-<a name="adddefaultcharset" id="adddefaultcharset">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Standard-Charset-Parameter, der bei Antworten vom Content-Type <code>text/plain</code> oder <code>text/html</code> hinzugefⁿgt wird </td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddDefaultCharset On|Off|<var>Zeichenkodierung</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AddDefaultCharset Off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive gibt einen Standardwert fⁿr den Charset-Paramter des Medientyps (den Namen einer Zeichencodierung) an, der einer Antwort genau dann hinzugefⁿgt wird, wenn der Content-Type der Antwort entweder <code>text/plain</code> oder <code>text/html</code> ist. Dies sollte jedes mittels <code>META</code>-Element im Datenteil der Antwort angegebene Charset ⁿberschreiben. Das genaue Verhalten hΣngt jedoch oft von der Client-Konfiguration des Benutzers ab. Die Einstellung <code>AddDefaultCharset Off</code> deaktiviert diese FunktionalitΣt. <code>AddDefaultCharset On</code> aktiviert die Standard-Zeichenkodierung <code>iso-8859-1</code>. Jeder andere Wert wird als die zu verwendende <var>Zeichenkodierung</var> aufgefa▀t, die eines der bei <a href="http://www.iana.org/assignments/character-sets">IANA registrierten Charset-Werte</a> zur Verwendung in MIME-Medientypen sein sollte. Zum Beispiel:</p> <div class="example"><p><code> AddDefaultCharset utf-8 </code></p></div> <p><code class="directive">AddDefaultCharset</code> sollte nur verwendet werden, wenn von allen Textressourcen, fⁿr die es gilt, bekannt ist, dass sie in dieser Zeichkodierung vorliegen, oder wenn es zu unbequem ist, ihre Zeichenkodierung indivuell zu benennen. Ein solches Beispiel ist das Hinzufⁿgen des Charset-Parameters zu Ressourcen, die generierte Inhalte enthalten. Ein Beispiel sind CGI-Skript-Altlasten, die aufgrund von in die Ausgabe integrierten Daten, die durch den Benutzer ⁿbermittelt wurden, gegen Cross-Site-Scripting-Angriffe verwundbar sind. Eine bessere L÷sung wΣre jedoch, diese Skripte zu korrigieren (oder zu l÷schen), da die Angabe einer Standard-Zeichencodierung keine Anwender schⁿtzt, die in ihrem Browser die Funktion zur automatischen Erkennung der Zeichenkodierung aktiviert haben.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a>-<a name="addoutputfilterbytype" id="addoutputfilterbytype">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>einen Ausgabefilter einem bestimmten MIME-Type zuordnen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddOutputFilterByType <var>Filter</var>[;<var>Filter</var>...] <var>MIME-Type</var> [<var>MIME-Type</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Verfⁿgbar ab Apache 2.0.33</td></tr> </table> <p>Die Direktive aktiviert fⁿr eine Anfrage abhΣngig vom MIME-Type der Antwort einen bestimmten Ausgabe-<a href="../filter.html">Filter</a>.</p> <p>Das folgende Beispiel verwendet den Filter <code>DEFLATE</code>, der von <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> angeboten wird. Er komprimiert jede Ausgabe, die als <code>text/html</code> oder <code>text/plain</code> gekennzeichnet ist, (gleichgⁿltig, ob statisch oder dynamisch) bevor sie an den Client gesendet wird.</p> <div class="example"><p><code> AddOutputFilterByType DEFLATE text/html text/plain </code></p></div> <p>Wenn Sie den Inhalt von mehr als einem Filter verarbeiten lassen wollen, dann mⁿssen deren Namen durch Semikolons voneinander getrennt werden. Es ist ebenfalls m÷glich, eine <code class="directive">AddOutputFilterByType</code>-Direktive fⁿr jeden von diesen Filtern zu verwenden.</p> <p>Die folgende Konfiguration sorgt dafⁿr, dass alle Skriptausgaben, die als <code>text/html</code> gekennzeichnet sind, zuerst vom <code>INCLUDES</code>-Filter und dann vom <code>DEFLATE</code>-Filter verarbeitet werden.</p> <div class="example"><p><code> <Location /cgi-bin/><br /> <span class="indent"> Options Includes<br /> AddOutputFilterByType INCLUDES;DEFLATE text/html<br /> </span> </Location> </code></p></div> <div class="warning"><h3>Hinweis:</h3> <p>Die Aktivierung von Filtern mittels <code class="directive">AddOutputFilterByType</code> kann in einigen FΣllen ganz oder teilweise fehlschlagen. Beispielsweise werden keine Filter angewendet, wenn der MIME-Type nicht bestimmt werden kann und auf die Einstellung der <code class="directive"><a href="#defaulttype">DefaultType</a></code>-Anweisung zurⁿckfΣllt, selbst wenn die <code class="directive"><a href="#defaulttype">DefaultType</a></code>-Einstellung die gleiche ist.</p> <p>Wenn Sie jedoch sicherstellen wollen, dass der Filter angewendet wird, sollten Sie den Content-Type z.B. mit <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> oder <code class="directive"><a href="#forcetype">ForceType</a></code> der Ressource explizit zuordnen. Das Setzen des Content-Types innerhalb eines (nicht-nph) CGI-Skriptes funktioniert ebenfalls zuverlΣssig.</p> <p>Die Typ-gebundenen Ausgabefilter werden niemals auf Proxy-Anfragen angewendet.</p> </div> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li> <li><code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code></li> <li><a href="../filter.html">Filter</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a>-<a name="allowencodedslashes" id="allowencodedslashes">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Legt fest, ob kodierte Pfadtrennzeichen in URLs durchgereicht werden dⁿrfen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Verfⁿgbar ab Apache 2.0.46</td></tr> </table> <p>Die <code class="directive">AllowEncodedSlashes</code>-Direktive erlaubt die Verwendung von URLs, welche kodierte Pfadtrennzeichen (<code>%2F</code> fⁿr <code>/</code> und auf entsprechenden Systemen zusΣtzlich <code>%5C</code> fⁿr <code>\</code>) enthalten. Normalerweise werden derartige URLs mit einem 404-Fehler (Nicht gefunden) abgewiesen.</p> <p><code class="directive">AllowEncodedSlashes</code> <code>On</code> ist vor allem in Verbindung mit <code>PATH_INFO</code> hilfreich.</p> <div class="note"><h3>Anmerkung</h3> <p>Das Erlauben von SchrΣgstrichen impliziert <em>nicht</em> deren <em>Dekodierung</em>. Vorkommen von <code>%2F</code> oder <code>%5C</code> (<em>nur</em> auf entsprechenden Systemen) werden unverΣndert in der ansonsten dekodierten URL belassen.</p> </div> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a>-<a name="allowoverride" id="allowoverride">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Direktiven-Typen, die in <code>.htaccess</code>-Dateien erlaubt sind.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AllowOverride All|None|<var>Direktiven-Typ</var> [<var>Direktiven-Typ</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>AllowOverride All</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Wenn der Server eine <code>.htaccess</code>-Datei (wie durch <code class="directive"><a href="#accessfilename">AccessFileName</a></code> definiert) findet, muss er wissen, welche in der Datei angegebenen Direktiven frⁿhere Konfigurationsanweisungen ⁿberschreiben dⁿrfen.</p> <div class="note"><h3>Nur in <Directory>-Abschnitten verfⁿgbar</h3> <code class="directive">AllowOverride</code> ist nur in <code class="directive"><a href="#directory"><Directory></a></code>-Abschnitten gⁿltig, die ohne regulΣre Ausdrⁿcke definiert wurden, nicht in <code class="directive"><a href="#location"><Location></a></code>-, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code>- oder <code class="directive"><a href="#files"><Files></a></code>-Abschnitten. </div> <p>Wenn diese Anweisung auf <code>None</code> gesetzt wird, dann werden <a href="#accessfilename">.htaccess</a>-Dateien komplett ignoriert. In diesem Fall wird der Server nicht einmal versuchen, die <code>.htaccess</code>-Dateien im Dateisystem zu lesen.</p> <p>Wenn diese Anweisung auf <code>All</code> gesetzt wird, dann ist jede Direktive in den <code>.htaccess</code>-Dateien erlaubt, die den <a href="directive-dict.html#Context">Kontext</a> .htaccess besitzt.</p> <p>Der <var>Direktiven-Typ</var> kann eine der folgenden Anweisungsgruppen sein.</p> <dl> <dt>AuthConfig</dt> <dd> Erlaubt die Verwendung von Autorisierungs-Anweisungen (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, <code class="directive"><a href="#authname">AuthName</a></code>, <code class="directive"><a href="#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="#require">Require</a></code> <em>usw.</em>).</dd> <dt>FileInfo</dt> <dd> Erlaubt die Verwendung von Direktiven zur Steuerung der Dokumenttypen (<code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, und <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code>-Direktiven Add* und Remove* <em>usw.</em>).</dd> <dt>Indexes</dt> <dd> Erlaubt die Verwendung von Direktiven zur Steuerung von Verzeichnisindizes (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code> <em>usw.</em>).</dd> <dt>Limit</dt> <dd> Erlaubt die Verwendung von Direktiven zur Steuerung des Zugriffs von Hosts (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> und <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd> <dt>Options[=<var>Option</var>,...]</dt> <dd> Erlaubt die Verwendung von Direktiven zur Steuerung spezieller Verzeichniseigenschaften (<code class="directive"><a href="#options">Options</a></code> und <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). Sie k÷nnen mit einem Gleichheitszeichen gefolgt von einer kommaseparierten Liste (ohne Leerzeichen) angeben, welche Optionen mit der <code class="directive"><a href="#options">Options</a></code>-Direktive gesetzt werden dⁿrfen.</dd> </dl> <p>Beispiel:</p> <div class="example"><p><code> AllowOverride AuthConfig Indexes </code></p></div> <p>Im obigen Beispiel erzeugen alle Direktiven einen internal server error <span class="transnote">(<em>Anm.d.▄.:</em> Server-interner Fehler)</span>, die weder der Gruppe <code>AuthConfig</code> noch der Gruppe <code>Indexes</code> angeh÷ren.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> <li><a href="../configuring.html">Konfigurationsdateien</a></li> <li><a href="../howto/htaccess.html">.htaccess-Dateien</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AuthName" id="AuthName">AuthName</a>-<a name="authname" id="authname">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Autorisierungsbereich zur Verwendung in der HTTP-Authentisierung</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthName <var>auth-Bereich</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive legt den Namen des Autorisierungsbereiches <span class="transnote">(<em>Anm.d.▄.:</em> Der Autorisierungsbereich wird auch Realm genannt.)</span> fⁿr ein Verzeichnis fest. Dieser Realm wird dem Client mitgeteilt, damit der Anwender wei▀, welchen Benutzernamen und welches Passwort er zu ⁿbermitteln hat. <code class="directive">AuthName</code> akzeptiert ein Argument. Falls der Name des Realm Leerzeichen enthΣlt, muss er in Anfⁿhrungszeichen eingeschlossen werden. Um zu funktionieren, muss die Anweisung von den Direktiven <code class="directive"><a href="#authtype">AuthType</a></code> und <code class="directive"><a href="#require">Require</a></code> sowie von Direktiven wie <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> und <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> begleitet werden.</p> <p>Beispiel:</p> <div class="example"><p><code> AuthName "Top Secret" </code></p></div> <p>Die <code>AuthName</code> ⁿbergebene Zeichenkette ist das, was in dem von den meisten Browsern angebotenen Passwort-Dialog angezeigt wird.</p> <h3>Siehe auch</h3> <ul> <li><a href="../howto/auth.html">Authentisierung, Autorisierung und Zugriffskontrolle</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="AuthType" id="AuthType">AuthType</a>-<a name="authtype" id="authtype">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Art der Authentisierung</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthType Basic|Digest</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive wΣhlt die Art der Benutzer-Authentisierung fⁿr ein Verzeichnis aus. Derzeit sind lediglich <code>Basic</code> und <code>Digest</code> implementiert. Um zu funktionieren, muss die Anweisung von den Direktiven <code class="directive"><a href="#authname">AuthName</a></code> und <code class="directive"><a href="#require">Require</a></code> sowie von Direktiven wie <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> und <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> begleitet werden.</p> <h3>Siehe auch</h3> <ul> <li><a href="../howto/auth.html">Authentisierung, Autorisierung und Zugriffskontrolle</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a>-<a name="cgimapextension" id="cgimapextension">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Technik zur Bestimmung des Interpreters fⁿr CGI-Skripte</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CGIMapExtension <var>CGI-Pfad</var> <var>.Endung</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>ausschlie▀lich NetWare</td></tr> </table> <p>Die Direktive wird zur Steuerung verwendet, wie Apache den Interpreter ermittelt, der zur Ausfⁿhrung von CGI-Skripten verwendet wird. Beispielsweise bestimmt die Angabe von <code>CGIMapExtension sys:\foo.nlm .foo</code>, dass alle CGI-Scripte mit der Endung <code>.foo</code> an den FOO-Interpreter ⁿbergeben werden.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a>-<a name="contentdigest" id="contentdigest">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert die Generierung von <code>Content-MD5</code> HTTP-Response-Headern</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ContentDigest On|Off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ContentDigest Off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive aktiviert die Generierung von <code>Content-MD5</code>-Headern, wie sie in RFC1864 bzw. RFC2068 definiert sind.</p> <p>MD5 ist ein Algorithmus zur Berechnung eines "Datenextrakts" (zuweilen "Fingerabdruck" genannt) <span class="transnote">(<em>Anm.d.▄.:</em> Der "Datenextrakt" wird im Englischen als "message digest" oder "fingerprint" bezeichnet.)</span> aus beliebig langen Daten. Es gilt als zuverlΣssig, dass VerΣnderungen an den Daten sich in VerΣnderungen des Extrakts wiederspiegeln.</p> <p>Der <code>Content-MD5</code>-Header bietet eine End-to-End-IntegritΣtsprⁿfung (MIC) <span class="transnote">(<em>Anm.d.▄.:</em> MIC steht fⁿr "message integrity check".)</span> des Daten-Inhalts. Ein Proxy oder Client kann diesen Header prⁿfen, um zufΣllige VerΣnderungen des Entity-Inhalts bei der ▄bertragung festzustellen. Beispielheader:</p> <div class="example"><p><code> Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== </code></p></div> <p>Beachten Sie bitte, dass dies Performanceprobleme auf Ihrem System verursachen kann, da der Extrakt bei jeder Anfrage berechnet wird (der Wert wird nicht zwischengespeichert).</p> <p><code>Content-MD5</code> wird nur fⁿr Dokumente gesendet, die von <code class="module"><a href="../mod/core.html">core</a></code> bedient werden, nicht jedoch bei Modulen. SSI-Dokumente, CGI-Skript-Ausgaben und Byte-Range-Antworten besitzen diesen Header beispielsweise nicht.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a>-<a name="defaulttype" id="defaulttype">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>MIME-Content-Type, der gesendet wird, wenn der Server den Typ nicht auf andere Weise ermitteln kann.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DefaultType <var>MIME-Type</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>DefaultType text/plain</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Es kann vorkommen, dass der Server ein Dokument ausliefern muss, dessen Typ er nicht mit Hilfe seiner MIME-Type-Zuordnungen bestimmen kann.</p> <p>Der Server muss den Client ⁿber den Content-Type des Dokumentes informieren. Daher verwendet er im Falle eines unbekannten Typs die <code>DefaultType</code>-Einstellung. Zum Beispiel:</p> <div class="example"><p><code> DefaultType image/gif </code></p></div> <p>wΣre angemessen fⁿr ein Verzeichnis, das viele GIF-Bilder enthΣlt, deren Dateinamen nicht Endung <code>.gif</code> besitzen.</p> <p>Beachten Sie bitte, dass die Direktive anders als <code class="directive"><a href="#forcetype">ForceType</a></code> lediglich den Standard-MIME-Type bestimmt. Alle anderen MIME-Type-Definitionen, einschlie▀lich Dateierweiterungen, die den Medien-Typ anzeigen k÷nnen, ⁿberschreiben diese Voreinstellung.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a>-<a name="directory" id="directory">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Umschlie▀t eine Gruppe von Direktiven, die nur auf das genannte Verzeichnis des Dateisystems und Unterverzeichnisse angewendet werden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Directory <var>Verzeichnispfad</var>> ... </Directory></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p><code class="directive"><Directory></code> und <code></Directory></code> werden dazu verwendet, eine Gruppe von Direktiven zusammenzufassen, die nur fⁿr das genannte Verzeichnis und dessen Unterverzeichnisse gelten. Jede Direktive, die im Verzeichnis-Kontext erlaubt ist, kann verwendet werden. <var>Verzeichnispfad</var> ist entweder der vollstΣndige Pfad zu einem Verzeichnis oder eine Zeichenkette mit Platzhaltern wie sie von der Unix-Shell zum Abgleich verwendet werden. In einer Zeichenkette mit Platzhaltern <span class="transnote">(<em>Anm.d.▄.:</em> sogenannte wild-cards)</span> entspricht <code>?</code> einem einzelnen Zeichen und <code>*</code> einer Zeichenkette beliebiger LΣnge. Sie k÷nnen auch auch <code>[]</code>-Zeichenbereiche verwenden. Keiner der Platzhalter entspricht dem Zeichen "/". Daher passt <code><Directory /*/public_html></code> nicht auf <code>/home/user/public_html</code>, <code><Directory /home/*/public_html></code> jedoch tut es. Beispiel:</p> <div class="example"><p><code> <Directory /usr/local/httpd/htdocs><br /> <span class="indent"> Options Indexes FollowSymLinks<br /> </span> </Directory> </code></p></div> <div class="note"> <p>Seien Sie vorsichtig mit den <var>Verzeichnispfad</var>-Argumenten. Sie mⁿssen buchstΣblich mit dem Dateisystempfad ⁿbereinstimmen, den der Apache fⁿr den Zugriff auf die Dateien verwendet. Direktiven, die fⁿr ein bestimmtes Verzeichnis gelten, gelten nicht fⁿr Dateien in dem Verzeichnis, auf die ⁿber einen anderen Pfad zugegriffen wird, wie z.B. ⁿber verschiedene symbolische Links.</p> </div> <p>Erweiterte regulΣre Ausdrⁿcke k÷nnen ebenfalls verwendet werden, indem das Zeichen <code>~</code> hinzugefⁿgt wird. Beispielsweise wⁿrde</p> <div class="example"><p><code> <Directory ~ "^/www/.*/[0-9]{3}"> </code></p></div> <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei Zahlen bestehen.</p> <p>Wenn mehrere <code class="directive"><Directory></code>-Abschnitte (ohne regulΣre Ausdrⁿcke) auf ein Verzeichnis (oder ein ihm ⁿbergeordnetes Verzeichnis) passen, welches ein Dokument enthΣlt, dann werden die Direktiven der Reihe nach, angefangen beim kⁿrzesten passenden Muster, vermischt mit den Direktiven aus den <a href="#accessfilename">.htaccess</a>-Dateien, angewendet. Beispiel:</p> <div class="example"><p><code> <Directory /><br /> <span class="indent"> AllowOverride None<br /> </span> </Directory><br /> <br /> <Directory /home/><br /> <span class="indent"> AllowOverride FileInfo<br /> </span> </Directory> </code></p></div> <p>Beim Zugriff auf das Dokument <code>/home/web/dir/doc.html</code> sind die einzelnen Schritte:</p> <ul> <li>Wende die Direktive <code>AllowOverride None</code> an (deaktiviere <code>.htaccess</code>-Dateien).</li> <li>Wende die Direktive <code>AllowOverride FileInfo</code> (auf das Verzeichnis <code>/home</code>) an.</li> <li>Wende jede <code>FileInfo</code>-Direktive aus <code>/home/.htaccess</code>, <code>/home/web/.htaccess</code> und <code>/home/web/dir/.htaccess</code> der Reihe nach an.</li> </ul> <p>RegulΣre Ausdrⁿcke werden solange nicht berⁿcksichtigt, bis alle normalen Abschnitte angewendet wurden. Anschlie▀end werden alle regulΣren Ausdrⁿcke in der Reihenfolge geprⁿft, in der sie in der Konfigurationsdatei auftauchen. Beispielsweise wird bei</p> <div class="example"><p><code> <Directory ~ abc$><br /> <span class="indent"> # ... hier die Direktiven ...<br /> </span> </Directory> </code></p></div> <p>der Abschnitt mit dem regulΣren Ausdruck nicht berⁿcksichtigt, bis alle normalen <code class="directive"><Directory></code>-Abschnitte und <code>.htaccess</code>-Dateien angewendet wurden. Dann erst wird der regulΣre Ausdruck mit <code>/home/abc/public_html/abc</code> abgeglichen und der entsprechende <code class="directive"><Directory></code>-Abschnitt angewendet.</p> <p><strong>Beachten Sie bitte, dass der vom Apache voreingestellte Zugriff fⁿr <code><Directory /></code> <code>Allow from All</code> ist. Das bedeutet, dass der Apache jede Datei ausliefert, die durch eine URL abgebildet wird. Es wird empfohlen, dass Sie dies durch einen Block wie</strong></p> <div class="example"><p><code> <Directory /><br /> <span class="indent"> Order Deny,Allow<br /> Deny from All<br /> </span> </Directory> </code></p></div> <p><strong>Σndern und anschlie▀end fⁿr Verzeichnisse ⁿberschreiben, die Sie verfⁿgbar machen <em>wollen</em>. Fⁿr weitere Einzelheiten lesen Sie bitte die Seite zu den <a href="../misc/security_tips.html">Sicherheitshinweisen</a>.</strong></p> <p>Die Verzeichnisabschnitte erscheinen in der Datei <code>httpd.conf</code>. <code class="directive"><Directory></code>-Direktiven dⁿrfen nicht ineinander verschachtelt werden oder innerhalb von <code class="directive"><a href="#limit"><Limit></a></code>- oder <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Abschnitten auftauchen.</p> <h3>Siehe auch</h3> <ul> <li><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> fⁿr eine ErlΣuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a>-<a name="directorymatch" id="directorymatch">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Umschlie▀t eine Gruppe von Direktiven, die auf Verzeichnisse des Dateisystems und ihre Unterverzeichnisse abgebildet werden, welche auf einen regulΣren Ausdruck passen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><DirectoryMatch <var>regex</var>> ... </DirectoryMatch></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p><code class="directive"><DirectoryMatch></code> und <code></DirectoryMatch></code> werden dazu verwendet, eine Gruppe von Direktiven zusammenzufassen, die nur fⁿr das genannte Verzeichnis und dessen Unterverzeichnisse gelten, genauso wie bei <code class="directive"><a href="#directory"><Directory></a></code>. Als Argument dient jedoch ein regulΣrer Ausdruck. Beispielsweise wⁿrde</p> <div class="example"><p><code> <DirectoryMatch "^/www/.*/[0-9]{3}"> </code></p></div> <p>auf Verzeichnisse in <code>/www/</code> passen, die aus drei Zeichen bestehen.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#directory"><Directory></a></code> fⁿr eine Beschreibung, wie regulΣre Ausdrⁿcke mit normalen <code class="directive"><Directory></code>-Anweisungen vermischt werden.</li> <li><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> fⁿr eine ErlΣuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a>-<a name="documentroot" id="documentroot">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verzeichnis, welches den Haupt-Dokumentenbaum bildet, der im Web sichtbar ist.</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>DocumentRoot <var>Verzeichnis</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive setzt das Verzeichnis, von dem aus <code class="program"><a href="../programs/httpd.html">httpd</a></code> Dateien ausliefert. Sofern nicht eine Direktive wie <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> greift, hΣngt der Server Pfade aus der angeforderten URL an das Wurzelverzeichnis an, um den Pfad zum Dokument zu bilden. Beispiel:</p> <div class="example"><p><code> DocumentRoot /usr/web </code></p></div> <p>Damit bezieht sich ein Zugriff auf <code>http://www.my.host.com/index.html</code> auf <code>/usr/web/index.html</code>. Wenn das <var>Verzeichnis</var> nicht absolut angegeben ist, wird es relativ zu <code class="directive"><a href="#serverroot">ServerRoot</a></code> betrachtet.</p> <p><code class="directive">DocumentRoot</code> sollte ohne einen SchrΣgstrich am Ende angegeben werden.</p> <h3>Siehe auch</h3> <ul> <li><a href="../urlmapping.html">URLs auf das Dateisystem abbilden</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a>-<a name="enablemmap" id="enablemmap">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verwende Memory-Mapping, um Dateien wΣhrend der Auslieferung zu lesen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableMMAP On|Off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableMMAP On</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive steuert, ob <code class="program"><a href="../programs/httpd.html">httpd</a></code> Memory-Mapping verwenden darf, wenn er wΣhrend der Auslieferung den Inhalt einer Datei lesen muss. Wenn die Bearbeitung einer Anfrage es erfordert, auf die Daten in einer Datei zuzugreifen -- zum Beispiel bei der Auslieferung einer mittels <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> serverseitig analysierten Datei --, dann verwendet der Apache standardmΣ▀ig Memory-Mapping fⁿr diese Datei, sofern das Betriebssystem es unterstⁿtzt.</p> <p>Memory-Mapping bedeutet zuweilen eine Performanceverbesserung. In einigen Umgebungen ist es jedoch besser, Memory-Mapping zu deaktivieren, um Problemen wΣhrend des Betriebs vorzubeugen:</p> <ul> <li>Bei einigen Multiprozessorsystemen kann Memory-Mapping die Performance von <code class="program"><a href="../programs/httpd.html">httpd</a></code> reduzieren.</li> <li>Bei einem per NFS eingebundenen <code class="directive"><a href="#documentroot">DocumentRoot</a></code> kann <code class="program"><a href="../programs/httpd.html">httpd</a></code> mit einem Speicherzugriffsfehler <span class="transnote">(<em>Anm.d.▄.:</em> ein so genannter "segmentation fault")</span> abstⁿrzen, wenn eine Datei gel÷scht oder gekⁿrzt wird, wΣhrend <code class="program"><a href="../programs/httpd.html">httpd</a></code> sie im Speicher abbildet.</li> </ul> <p>Bei Serverkonfigurationen, die fⁿr dieses Problem anfΣllig sind, sollten Sie das Memory-Mapping fⁿr auszuliefernde Dateien deaktivieren, indem Sie schreiben:</p> <div class="example"><p><code> EnableMMAP Off </code></p></div> <p>Bei per NFS eingebundenen Dateien kann diese Funktion explizit fⁿr die st÷renden Dateien deaktiviert werden, indem Sie angeben:</p> <div class="example"><p><code> <Directory "/pfad-zu-den-nfs-dateien"> <span class="indent"> EnableMMAP Off </span> </Directory> </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a>-<a name="enablesendfile" id="enablesendfile">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verwende die sendfile-Unterstⁿtzung des Kernels, um Dateien an den Client auszuliefern</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableSendfile On|Off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableSendfile On</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Verfⁿgbar ab Apache Version 2.0.44</td></tr> </table> <p>Die Direktive steuert, ob <code class="program"><a href="../programs/httpd.html">httpd</a></code> die sendfile-Unterstⁿtzung des Kernels verwenden kann, um Dateiinhalte an den Client zu ⁿbermitteln. Wenn die Bearbeitung einer Anfrage keinen Zugriff auf die Daten in der Datei erfordert -- zum Beispiel bei der Auslieferung einer statischen Datei -- und das Betriebssystem es unterstⁿtzt, verwendet der Apache standardmΣ▀ig sendfile, um den Dateiinhalt zu ⁿbertragen, ohne die Datei jemals zu lesen.</p> <p>Der sendfile-Mechanismus vermeidet getrennte Lese- und Sendeoperationen sowie Puffer-Zuweisungen. Bei einigen Plattformen bzw. Dateisystemen deaktivieren Sie diese Funktion jedoch besser, um Probleme wΣhrend des Betriebs zu vermeiden:</p> <ul> <li>Einige Plattformen besitzen u.U. eine fehlerhafte sendfile-Unterstⁿtzung, die das Erstellungssystem nicht erkennt, insbesondere wenn die BinΣrdateien auf einem anderen Rechner erstellt und auf eine solche Maschine mit fehlerhafter sendfile-Unterstⁿtzung ⁿbertragen wurden.</li> <li>Bei einem ⁿber das Netzwerk eingebundenen <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (z.B. NFS oder SMB) ist der Kernel m÷glicherweise nicht in der Lage, die Netzwerkdatei ⁿber seinen eigenen Cache zu bedienen.</li> <li>Unter Linux l÷st die Verwendung von <code>sendfile</code> in Verbindung mit bestimmten Netzwerkkarten und IPv6 TCP-Checksummenfehler aus.</li> </ul> <p>Bei Serverkonfigurationen, die fⁿr dieses Problam anfΣllig sind, sollten die diese Funktion deaktivieren, indem Sie schreiben:</p> <div class="example"><p><code> EnableSendfile Off </code></p></div> <p>Bei per NFS oder SMB eingebundenen Dateien kann diese Funktion explizit fⁿr die st÷renden Dateien deaktiviert werden, indem Sie angeben:</p> <div class="example"><p><code> <Directory "/pfad-zu-den-nfs-dateien"> <span class="indent"> EnableSendfile Off </span> </Directory> </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a>-<a name="errordocument" id="errordocument">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Das, was der Server im Fehlerfall an den Client zurⁿckgibt</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ErrorDocument <var>Fehlercode</var> <var>Dokument</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Die Syntax der Anfⁿhrungszeichen bei Textnachrichten hat sich im Apache 2.0 geΣndert</td></tr> </table> <p>Im Falle eines Problems oder Fehlers kann der Apache konfiguriert werden, eine der vier Aktionen auszufⁿhren:</p> <ol> <li>Ausgabe einer einfachen, hartkodierten Fehlermeldung</li> <li>Ausgabe einer angepassten Meldung</li> <li>Umleitung zu einem lokalen <var>URL-Pfad</var> der das Problem bzw. den Fehler behandelt</li> <li>Umleitung zu einer externen <var>URL</var>, die das Problem bzw. den Fehler behandelt</li> </ol> <p>Die erste Option ist Voreinstellung, wΣhrend die Optionen 2 bis 4 ⁿber die Direktive <code class="directive">ErrorDocument</code> eingestellt werden, welcher der HTTP-Statuscode und eine URL oder Nachricht folgen. AbhΣngig vom Problem bzw. Fehler bietet der Apache manchmal zusΣtzliche Informationen an.</p> <p>URLs k÷nnen bei lokalen Webpfaden mit einem SchrΣgstrich (/) beginnen (relativ zum <code class="directive"><a href="#documentroot">DocumentRoot</a></code>-Verzeichnis) oder eine vollstΣndige URL bilden, die der Client aufl÷sen kann. Alternativ kann eine Nachricht fⁿr die Anzeige im Browser angeboten werden. Beispiel:</p> <div class="example"><p><code> ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br /> ErrorDocument 404 /cgi-bin/falsche_urls.pl<br /> ErrorDocument 401 /info_zur_anmeldung.html<br /> ErrorDocument 403 "Der Zugriff ist nicht erlaubt." </code></p></div> <p>Au▀erdem kann der spezielle Wert <code>default</code> angegeben werden, um die schlichte, hartkodierte Nachricht des Apache zu verwenden. Es wird normalerweise nicht ben÷tigt, doch <code>default</code> stellt die einfach, im Apache hartkodierte Meldung in Konfigurationen wieder her, die ansonsten von einem existierenden <span class="transnote">(<em>Anm.d.▄.:</em> zuvor konfigurierten)</span> <code class="directive">ErrorDocument</code> erben wⁿrden.</p> <div class="example"><p><code> ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br /> <Directory /web/docs><br /> <span class="indent"> ErrorDocument 404 default<br /> </span> </Directory> </code></p></div> <p>Wenn Sie eine <code class="directive">ErrorDocument</code>-Anweisung angeben, die auf eine entfernte URL weist (d.h. irgendetwas mit der Methode <code>http</code> davor), beachten Sie bitte, dass der Apache eine Umleitung zum Client sendet, um diesem mitzuteilen, wo das Dokument zu finden ist, auch wenn das Dokument letztlich wieder zum gleichen Server fⁿhrt. Das hat mehrere Auswirkungen. Die wichtigste ist, dass der Client nicht den Original-Statuscode erhΣlt sondern statt dessen einen Umleitungs-Statuscode. Dies wiederum kann Web-Robots und andere Clients verwirren, die den Statuscode dazu verwenden, herauszufinden ob eine URL gⁿltig ist. Wenn Sie eine entfernte URL in einer Anweisung <code>ErrorDocument 401</code> verwenden, wird der Client darⁿber hinaus nicht wissen, dass er den Benutzer zur Eingabe eines Passwortes auffordern muss, da er den Statuscode 401 nicht erhΣlt. <strong>Deshalb mⁿssen Sie sich auf ein lokales Dokument beziehen, wenn Sie eine Anweisung <code>ErrorDocument 401</code> verwenden.</strong></p> <p>Der Microsoft Internet Explorer (MSIE) ignoriert standardmΣ▀ig serverseitig generierte Fehlermeldungen, wenn sie "zu kurz" sind und ersetzt sie durch eigene "freundliche" Fehlermeldungen. Die Gr÷▀e variiert abhΣngig von der Art des Fehlers, im Allgemeinen zeigt der MSIE jedoch den serverseitig generierten Fehler, anstatt ihn zu verstecken, wenn Ihr Fehlerdokument gr÷▀er als 512 Bytes ist. Weitere Informationen sind im Artikel <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a> in der Microsoft Knowledgebase verfⁿgbar.</p> <p>Obwohl die meisten Fehlermeldungen ⁿberschrieben werden k÷nnen, werden unter bestimmten UmstΣnden die internen Meldungen ungeachtet der Einstellung der <code class="directive"><a href="#errordocument">ErrorDocument</a></code>-Direktive verwendet. Insbesondere bei einer fehlerhaften Anfrage werden der normale Bearbeitungsprozess sofort beendet und die interne Meldung zurⁿckgegeben. Das ist notwendig, um Sicherheitsprobleme zu vermeiden, die auf Grund fehlerhafter Anfragen entstehen.</p> <p>In Versionen vor 2.0 wurden Meldungen durch ein einzelnes vorangestelltes Anfⁿhrungszeichen (") erkannt.</p> <h3>Siehe auch</h3> <ul> <li><a href="../custom-error.html">Dokumentation zu individuellen Fehlermeldungen</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a>-<a name="errorlog" id="errorlog">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort, an dem der Server Fehler protokolliert</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code> ErrorLog <var>Dateiname</var>|syslog[:<var>facility</var>]</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">ErrorLog</code> bestimmt den Namen der Datei, in welcher der Server alle auftretenden Fehler protokolliert. Wenn <var>Dateiname</var> nicht absolut ist, wird er relativ zu <code class="directive"><a href="#serverroot">ServerRoot</a></code> betrachtet.</p> <div class="example"><h3>Beispiel</h3><p><code> ErrorLog /var/log/httpd/error_log </code></p></div> <p>Wenn der <var>Dateiname</var> mit einem senkrechten Strich (|, engl.: Pipe) beginnt, wird angenommen, dass es sich um einen Befehl handelt, der ausgefⁿhrt wird, um das Fehlerprotokolls zu verarbeiten.</p> <div class="example"><h3>Beispiel</h3><p><code> ErrorLog "|/usr/local/bin/httpd_errors" </code></p></div> <p>Die Verwendung von <code>syslog</code> anstelle eines Dateinamens aktiviert die Protokollierung mittels syslogd(8), sofern das System es unterstⁿtzt. Als Voreinstellung wird der syslog-Typ (syslog facility) <code>local7</code> verwendet, Sie k÷nnen dies jedoch auch ⁿberschreiben, indem Sie die Syntax <code>syslog:<var>facility</var></code> verwenden, wobei <var>facility</var> einer der Namen sein kann, die ⁿblicherweise in syslog(1) dokumentiert sind.</p> <div class="example"><h3>Beispiel</h3><p><code> ErrorLog syslog:user </code></p></div> <p>SICHERHEITSHINWEIS: Lesen Sie das Dokument <a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a> zu Einzelheiten darⁿber, warum Ihre Sicherheit gefΣhrdet sein kann, wenn das Verzeichnis, in dem die Log-Dateien gespeichert werden, fⁿr jemand anderen, als den Benutzer, der den Server gestartet hat, beschreibbar ist.</p> <div class="warning"><h3>Anmerkung</h3> <p>Bei der Eingabe eines Dateipfads auf nicht-Unix-Plattformen sollte darauf geachtet werden, nur (VorwΣrts-)SchrΣgstriche zu verwenden, auch wenn die Plattform rⁿckwΣrts gerichtete SchrΣgstriche (Backslashes) erlaubt. Im Allgemeinen ist es eine gute Idee, innerhalb der Konfigurationsdateien immer VorwΣrts-SchrΣgstriche zu verwenden.</p> </div> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> <li><a href="../logs.html">Apache-Log-Dateien</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a>-<a name="fileetag" id="fileetag">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Dateiattribute, die zur Erstellung des HTTP-Response-Headers ETag verwendet werden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FileETag <var>Komponente</var> ...</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>FileETag INode MTime Size</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Wenn dem Dokument eine Datei zugrundeliegt, bestimmt die Direktive <code class="directive">FileETag</code> die Dateiattribute, die zur Erstellung des HTTP-Response-Headers <code>ETag</code> (Entity-Tag) verwendet werden. (Der Wert von <code>ETag</code> wird bei der Cache-Verwaltung zur Einsparung von Netzwerk-Bandbreite benutzt.) Im Apache 1.3.22 und frⁿher wurde der <code>ETag</code>-Wert <em>stets</em> aus der I-Node, der Gr÷▀e und dem Datum der letzten ─nderung (mtime) der Datei gebildet. Die Direktive <code class="directive">FileETag</code> erlaubt es Ihnen, zu bestimmen, welche dieser Eigenschaften -- falls ⁿberhaupt -- verwendet werden sollen. Die gⁿltigen Schlⁿsselworte lauten:</p> <dl> <dt><strong>INode</strong></dt> <dd>Die I-Node-Nummer wird in die Berechnung mit einbezogen</dd> <dt><strong>MTime</strong></dt> <dd>Datum und Uhrzeit der letzten ─nderung werden mit einbezogen</dd> <dt><strong>Size</strong></dt> <dd>Die Anzahl der Bytes in der Datei wird mit einbezogen</dd> <dt><strong>All</strong></dt> <dd>Alle verfⁿgbaren Angaben werden verwendet. Die ist gleichbedeutend mit: <div class="example"><p><code>FileETag INode MTime Size</code></p></div></dd> <dt><strong>None</strong></dt> <dd>Es wird keine <code>ETag</code>-Angabe in die Antwort eingefⁿgt, wenn dem Dokument eine Datei zugrundeliegt.</dd> </dl> <p>Den Schlⁿsselw÷rtern <code>INode</code>, <code>MTime</code> und <code>Size</code> kann entweder ein <code>+</code> oder ein <code>-</code> vorangestellt werden, was die ─nderung einer Vorgabe erlaubt, die von einem gr÷▀eren Umfeld geerbt wurde. Jedes Schlⁿselwort ohne ein solches Prefix hebt die ererbte Einstellung sofort und vollstΣndig auf.</p> <p>Wenn die Konfiguration fⁿr ein Verzeichnis <code>FileETag INode MTime Size</code> enthΣlt und die eines Unterverzeichnisses <code>FileETag -INode</code>, dann ist die Einstellung fⁿr das Unterverzeichnis (die an jedes Unter-Unterverzeichnis weitervererbt wird, welches dies nicht ⁿberschreibt) Σquivalent mit <code>FileETag MTime Size</code>.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Files" id="Files"><Files></a>-<a name="files" id="files">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>EnthΣlt Direktiven, die sich nur auf passende Dateinamen beziehen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Files <var>Dateiname</var>> ... </Files></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive"><Files></code> begrenzt die Reichweite der enthaltenen Anweisungen auf Dateinamen. Sie ist vergleichbar mit den Direktiven <code class="directive"><a href="#directory"><Directory></a></code> und <code class="directive"><a href="#location"><Location></a></code>. Sie muss eine passende <code></Files></code>-Anweisung besitzen. Die innerhalb dieses Abschnittes angegebenen Direktiven werden auf jedes Objekt mit einem Basisnamen (letzte Komponente des Dateinamens) angewendet, der auf die angegebenen Dateinamen passt. <code class="directive"><Files></code>-Container werden, nachdem die <code class="directive"><a href="#directory"><Directory></a></code>-Container und <code>.htaccess</code>-Dateien gelesen sind, jedoch vor den <code class="directive"><a href="#location"><Location></a></code>-Containern, in der Reihenfolge ihres Auftretens ausgefⁿhrt. Beachten Sie, dass <code class="directive"><Files></code>-Anweisungen innerhalb von <code class="directive"><a href="#directory"><Directory></a></code>-Containern auftreten k÷nnen, um den Teil des Dateisystems einzuschrΣnken, den sie betreffen.</p> <p>Das Argument <var>Dateiname</var> kann einen Dateinamen oder eine Zeichenkette mit Platzhaltern enthalten, wobei <code>?</code> auf ein einzelnes Zeichen passt und <code>*</code> auf eine beliebige Folge von Zeichen. Erweiterte regulΣre Ausdrⁿcke k÷nnen ebenfalls verwendet werden, indem das Zeichen <code>~</code> hinzugefⁿgt wird. Beispielsweise wⁿrde</p> <div class="example"><p><code> <Files ~ "\.(gif|jpe?g|png)$"> </code></p></div> <p>auf die gebrΣuchlichsten Grafikformate im Internet passen. <code class="directive"><a href="#filesmatch"><FilesMatch></a></code> wird jedoch bevorzugt.</p> <p>Beachten Sie bitte, dass die <code class="directive"><Files></code>-Container anders als <code class="directive"><a href="#directory"><Directory></a></code>- und <code class="directive"><a href="#location"><Location></a></code>-Container innerhalb von <code>.htaccess</code>-Dateien verwendet werden k÷nnen. Dies erlaubt den Anwendern auf Dateiebene die Kontrolle ⁿber ihre eigenen Dateien.</p> <h3>Siehe auch</h3> <ul> <li><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> fⁿr eine ErlΣuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a>-<a name="filesmatch" id="filesmatch">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>EnthΣlt Direktiven, die fⁿr Dateinamen gelten, die auf einen regulΣren Ausdruck passen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><FilesMatch <var>regex</var>> ... </FilesMatch></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive"><FilesMatch></code> begrenzt wie die Direktive <code class="directive"><a href="#files"><Files></a></code> die enthaltenen Anweisungen auf Dateinamen. Sie akzeptiert jedoch regulΣre Ausdrⁿcke. Beispielsweise wⁿrde</p> <div class="example"><p><code> <FilesMatch "\.(gif|jpe?g|png)$"> </code></p></div> <p>auf die gebrΣuchlichsten Grafikformate im Internet passen.</p> <h3>Siehe auch</h3> <ul> <li><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> fⁿr eine ErlΣuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a>-<a name="forcetype" id="forcetype">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Erzwingt die Auslieferung aller passendenden Dateien mit dem angegebenen MIME-Content-Type</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ForceType <var>MIME-Type</var>|None</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Wurde im Apache 2.0 in den Core verschoben</td></tr> </table> <p>Wenn sie innerhalb einer <code>.htaccess</code>-Datei, eines <code class="directive"><a href="#directory"><Directory></a></code>-, <code class="directive"><a href="#location"><Location></a></code>- <code class="directive"><a href="#files"><Files></a></code>-Containers angegeben wird, erzwingt die Direktive die Auslieferung aller entsprechenden Dateien mit dem Content-Type, der durch <var>MIME-Type</var> definiert wurde. Wenn Sie zum Beispiel ein Verzeichnis voller GIF-Dateien haben, die Sie nicht alle durch <code>.gif</code> kennzeichnen wollen, k÷nnen Sie angeben:</p> <div class="example"><p><code> ForceType image/gif </code></p></div> <p>Beachten Sie bitte, dass die Direktive anders als <code class="directive"><a href="#defaulttype">DefaultType</a></code> alle MIME-Type-Zuordnungen ⁿberschreibt, einschlie▀lich Dateiendungen, die einen Medientyp bezeichnen k÷nnten.</p> <p>Sie k÷nnen jede <code class="directive">ForceType</code>-Angabe durch die Verwendung des Wertes <code>None</code> ⁿberschreiben:</p> <div class="example"><p><code> # erzwinge image/gif fⁿr alle Dateien:<br /> <Location /images><br /> <span class="indent"> ForceType image/gif<br /> </span> </Location><br /> <br /> # hier jedoch normale MIME-Type-Zuordnungen:<br /> <Location /images/mixed><br /> <span class="indent"> ForceType None<br /> </span> </Location> </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a>-<a name="hostnamelookups" id="hostnamelookups">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert DNS-Lookups auf Client-IP-Adressen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>HostnameLookups Off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Diese Direktive aktiviert die DNS-Abfrage <span class="transnote">(<em>Anm.d.▄.:</em> ein sogenannter DNS-Lookup)</span>, so dass Hostnamen protokolliert (und in <code>REMOTE_HOST</code> an CGIs/SSIs ⁿbergeben) werden k÷nnnen. Der Wert <code>Double</code> bezieht sich auf ein Double-Reverse-DNS-Lookup. D.h. nachdem ein Reverse-Lookup durchgefⁿhrt wurde, wird dann auf dem Ergebnis ein Forward-Lookup ausgefⁿhrt. Wenigstens eine der IP-Adressen aus dem Forward-Lookup muss der Originaladresse entsprechen. (In der "tcpwrappers"-Terminologie wird dies <code>PARANOID</code> genannt.)</p> <p>UnabhΣngig von der Einstellung wird ein Double-Reverse-Lookup durchgefⁿhrt, wenn <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> zur Zugriffskontrolle per Hostnamen eingesetzt wird. Dies ist aus Sicherheitsgrⁿnden notwendig. Beachten Sie, dass das Ergebnis dieses Double-Reverse-Lookups nicht generell verfⁿgbar ist, solange Sie nicht <code>HostnameLookups Double</code> setzen. Wenn beispielsweise nur <code>HostnameLookups On</code> angegeben ist und eine Anfrage fⁿr ein Objekt erfolgt, welches durch Hostnamen-BeschrΣnkungen geschⁿtzt ist, dann wird CGIs nur das Ergebnis des Singel-Reverse-Lookups in <code>REMOTE_HOST</code> ⁿbergeben, egal ob das Doble-Reverse-Lookup fehlschlug oder nicht.</p> <p>Die Voreinstellung ist <code>Off</code>, um Netzwerktraffic bei den Angeboten einzusparen, die nicht tatsΣchlich Reverse-Lookups ben÷tigen. Es ist auch fⁿr die Endanwender besser, da sie nicht die zusΣtzliche Wartezeit ertragen mⁿssen, die ein Lookup mit sich bringt. Hoch frequentierte Angebote sollten diese Direktive auf <code>Off</code>lassen. Das Hilfsprogramm <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, das standardmΣ▀ig in das Unterverzeichnis <code>bin</code> Ihres Installationsverzeichnisses kompiliert wird, kann dazu verwendet werden, um offline Hostnamen von protokollierten IP-Adressen nachzuschlagen.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a>-<a name="ifdefine" id="ifdefine">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Schlie▀t Direktiven ein, die nur ausgefⁿhrt werden, wenn eine Testbedingung beim Start wahr ist</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfDefine [!]<var>Parametername</var>> ... </IfDefine></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Der Container <code><IfDefine <var>Test</var>>...</IfDefine> </code> wird dazu verwendet, Direktiven als bedingt zu kennzeichnen. Die Direktiven innerhalb eines <code class="directive"><IfDefine></code>-Abschnittes werden nur ausgefⁿhrt, wenn <var>Test</var> wahr ist. Ist <var>Test</var> falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.</p> <p>In der <code class="directive"><IfDefine></code>-Anweisung kann <var>Test</var> eine von zwei Formen annehmen:</p> <ul> <li><var>Parametername</var></li> <li><code>!</code><var>Parametername</var></li> </ul> <p>Im ersten Fall werden die Direktiven zwischen der Start- und Endemarkierung nur ausgefⁿhrt, wenn der Parameter namens <var>Parametername</var> definiert ist. Die zweite Form kehrt den Test um und fⁿhrt die Direktiven nur dann aus, wenn <var>Parametername</var> <strong>nicht</strong> definiert ist.</p> <p>Das Argument <var>Parametername</var> ist ein sogenanntes "Define", das beim beim Start des Servers in der <code class="program"><a href="../programs/httpd.html">httpd</a></code>-Befehlszeile durch <code>-D<var>Parameter</var></code> angegeben wird.</p> <p><code class="directive"><IfDefine></code>-Container k÷nnen ineinander verschachtelt werden, um einfache Multi-Parameter-Tests zu implementieren. Beispiel:</p> <div class="example"><p><code> httpd -DReverseProxy ...<br /> <br /> # httpd.conf<br /> <IfDefine ReverseProxy><br /> <span class="indent"> LoadModule rewrite_module modules/mod_rewrite.so<br /> LoadModule proxy_module modules/libproxy.so<br /> </span> </IfDefine> </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a>-<a name="ifmodule" id="ifmodule">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Schlie▀t Direktiven ein, die abhΣngig vom Vorhandensein oder Fehlen eines speziellen Moduls ausgefⁿhrt werden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><IfModule [!]<var>Modulname</var>|<var>Modulbezeichner</var>> ... </IfModule></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Modulbezeichner sind ab Version 2.1 verfⁿgbar.</td></tr> </table> <p>Der Container <code><IfModule <var>Test</var>>...</IfModule></code> wird dazu verwendet, Direktiven als abhΣngig von dem Vorhandensein eines speziellen Moduls zu kennzeichnen. Die Direktiven innerhalb eines <code class="directive"><IfModule></code>-Abschnitts werden nur ausgefⁿhrt, wenn <var>Test</var> wahr ist. Ist <var>Test</var> falsch, wird alles zwischen der Start- und Endemarkierung ignoriert.</p> <p>In der <code class="directive"><IfModule></code>-Anweisung kann <var>Test</var> eine von zwei Formen annehmen:</p> <ul> <li><var>Modul</var></li> <li><code>!</code><var>Modul</var></li> </ul> <p>Im ersten Fall werden die Direktiven zwischen der Start- und Endemarkierung nur ausgefⁿhrt, das Modul namens <var>Modul</var> im Apache enthalten ist -- entweder einkompiliert oder mittels <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> dynamisch geladen. Die zweite Form dreht den Test um und fⁿhrt die Direktiven nur aus, wenn <var>Modul</var> <strong>nicht</strong> enthalten ist.</p> <p>Das Argument <var>Modul</var> kann entweder der Modulbezeichner oder der Dateiname des Moduls zum Zeitpunkt seiner Kompilierung sein. <code>rewrite_module</code> beispielsweise ist der Bezeichner und <code>mod_rewrite.c</code> ist der Dateiname. Wenn ein Modul aus mehreren Quelltext-Dateien besteht, verwenden Sie den Namen der Datei, welche die Zeichenfolge <code>STANDARD20_MODULE_STUFF</code> enthΣlt.</p> <p><code class="directive"><IfModule></code>-Container k÷nnen inneinander verschachtelt werden, um einfache Multi-Modul-Tests durchzufⁿhren.</p> <p>Dieser Container sollte verwendet werden, wenn Sie eine Konfigurationsdatei ben÷tigen, die unabhΣngig davon funktioniert, ob ein bestimmtes Modul verfⁿgbar ist oder nicht. Normalerweise ist es nicht notwendig, Direktiven in <code class="directive"><IfModule></code>-Containern unterzubringen.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Include" id="Include">Include</a>-<a name="include" id="include">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Fⁿgt andere Konfigurationsdateien innerhalb der Server-Konfigurationsdatei ein</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Include <var>Dateiname</var>|<var>Verzeichnis</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Die Platzhalter-Suche ist verfⁿgbar seit 2.0.41</td></tr> </table> <p>Die Direktive erlaubt das Einfⁿgen anderer Konfigurationsdateien in die Konfigurationsdatei des Servers.</p> <p>Shell-typische (<code>fnmatch()</code>) Platzhlaterzeichen k÷nnen dazu verwendet werden, mehrere Dateien auf einmal in alphabetischer Reihenfolge einzufⁿgen. Wenn <code class="directive">Include</code> darⁿber hinaus auf ein Verzeichnis anstatt auf eine Datei zeigt, liest der Apache alle Dateien in diesem Verzeichnis und allen Unterverzeichnissen ein. Das Einfⁿgen ganzer Verzeichnisse ist jedoch nicht empfehlenswert, da temporΣre Dateien sehr leicht versehentlich in einem Verzeichnis zurⁿckgelassen werden, was <code class="program"><a href="../programs/httpd.html">httpd</a></code> scheitern lassen kann.</p> <p>Der angegebene Dateiname kann ein absoluter Pfad sein oder relativ zum <code class="directive"><a href="#serverroot">ServerRoot</a></code>-Verzeichnis angegeben werden.</p> <p>Beispiele:</p> <div class="example"><p><code> Include /usr/local/apache2/conf/ssl.conf<br /> Include /usr/local/apache2/conf/vhosts/*.conf </code></p></div> <p>Oder Sie geben Pfade relativ zu Ihrem <code class="directive"><a href="#serverroot">ServerRoot</a></code>-Verzeichnis an:</p> <div class="example"><p><code> Include conf/ssl.conf<br /> Include conf/vhosts/*.conf </code></p></div> <p>Der Aufruf von <code>apachectl configtest</code> liefert eine Liste der Dateien, die wΣhrend des Konfigurations-Tests verarbeitet werden:</p> <div class="example"><p><code> root@host# apachectl configtest<br /> Processing config file: /usr/local/apache2/conf/ssl.conf<br /> Processing config file: /usr/local/apache2/conf/vhosts/vhost1.conf<br /> Processing config file: /usr/local/apache2/conf/vhosts/vhost2.conf<br /> Syntax OK </code></p></div> <h3>Siehe auch</h3> <ul> <li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a>-<a name="keepalive" id="keepalive">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert persistente HTTP-Verbindungen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAlive On|Off</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>KeepAlive On</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Keep-Alive-Erweiterung von HTTP/1.0 und die HTTP/1.1-FunktionalitΣt persistenter Verbindungen unterstⁿtzt langlebige HTTP-Sitzungen, die es erlauben, mehrere Anfragen ⁿber die gleich TCP-Verbindung zu senden. In einigen FΣllen wurde eine Beschleunigung der Wartezeiten von beinahe 50% fⁿr HTML-Dokumente mit vielen Bildern festgestellt. Um Keep-Alive-Verbindungen zu aktivieren, setzen Sie <code>KeepAlive On</code>.</p> <p>Bei HTTP/1.0-Clients werden Keep-Alive-Verbindungen nur dann verwendet, wenn sie vom Client eigens angefordert werden. Desweiteren k÷nnen Keep-Alive-Verbindungen bei einem HTTP/1.0-Client nur dann verwendet werden, wenn die LΣnge des Inhalts im Voraus bekannt ist. Dies impliziert, dass dynamische Inhalte wie CGI-Ausgaben, SSI-Seiten und servergenerierte Verzeichnisauflistungen im Allgemeinen keine Keep-Alive-Verbindungen mit HTTP/1.0-Clients verwenden. Bei HTTP/1.1-Clients sind Keep-Alive-Verbindungen Voreinstellung, solange nichts anderes angegeben ist. Wenn der Client es anfordert, wird Chunked-Encoding verwendet, um Inhalte mit unbekannter LΣnge ⁿber persistente Verbindungen zu senden.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a>-<a name="keepalivetimeout" id="keepalivetimeout">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zeitspanne, die der Server wΣhrend persistenter Verbindungen auf nachfolgende Anfragen wartet</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>KeepAliveTimeout <var>Sekunden</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Dies legt die Anzahl der Sekunden fest, die der Apache auf weitere Anfragen wartet, bevor er die Verbindung schlie▀t. Nachdem einmal eine Anfrage entgegen genommen wurde, wird die durch die Direktive <code class="directive"><a href="#timeout">Timeout</a></code> festgelegte Auszeit angewendet.</p> <p>Auf stark belasteten Servern kann ein hoher <code class="directive">KeepAliveTimeout</code>-Wert zu Durchsatzminderungen fⁿhren. Je h÷her die Auszeit angegeben ist, desto lΣnger ist der Apache damit beschΣftigt, auf untΣtige Clients zu warten.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a>-<a name="limit" id="limit">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>BeschrΣnkt die eingeschlossenen Zugriffskontrollen auf bestimmte HTTP-Methoden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Limit <var>Methode</var> [<var>Methode</var>] ... > ... </Limit></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Zugriffskontrollen gelten normalerweise fⁿr <strong>alle</strong> Zugriffsmethoden, was normalerweise auch das gewⁿnschte Verhalten ist. <strong>Im Allgemeinen sollten Zugriffskontrollen nicht in einen <code class="directive"><Limit></code>-Container gepackt werden.</strong></p> <p>Der Sinn der Direktive <code class="directive"><Limit></code> ist es, den Effekt der Zugriffskontrollen auf die angegebenen HTTP-Methoden zu beschrΣnken. Bei allen anderen Methoden haben die in der <code class="directive"><Limit></code>-Gruppe enthaltenen ZugriffsbeschrΣnkungen <strong>keine Wirkung</strong>. Im folgenden Beispiel gilt die Zugriffskontrolle nur fⁿr die Methoden <code>POST</code>, <code>PUT</code> und <code>DELETE</code>. Alle anderen Methoden bleiben ungeschⁿtzt:</p> <div class="example"><p><code> <Limit POST PUT DELETE><br /> <span class="indent"> Require valid-user<br /> </span> </Limit> </code></p></div> <p>Sie k÷nnen eine oder mehrere der folgenden Methoden angeben: <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>, <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>, <code>LOCK</code> und <code>UNLOCK</code>. <strong>Die Methodennamen unterscheiden zwischen Gro▀- und Kleinschreibung.</strong> Wenn <code>GET</code> verwendet wird, sind <code>HEAD</code>-Anfragen ebenfalls eingeschrΣnkt. Die <code>TRACE</code>-Methode kann nicht limitiert werden.</p> <div class="warning"> Wenn es um ZugriffsbeschrΣnkungen geht, sollte ein <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Container sollte immmer einem <code class="directive"><a href="#limit"><Limit></a></code>-Container vorgezogen werden, da <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> einen Schutz gegen beliebige Methoden bietet. </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a>-<a name="limitexcept" id="limitexcept">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>BeschrΣnkt Zugriffskontrollen auf alle HTTP-Methoden au▀er den genannten</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LimitExcept <var>Methode</var> [<var>Methode</var>] ... > ... </LimitExcept></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p><code class="directive"><LimitExcept></code> und <code></LimitExcept></code> werden dazu verwendet, eine Gruppe von Anweisungen zur Zugriffskontrolle zusammenzufassen, die dann auf jede HTTP-Methode angewendet werden, die <strong>nicht</strong> als Argument angegeben ist. D.h. dies ist das Gegenteil des <code class="directive"><a href="#limit"><Limit></a></code>-Containers und kann zur Steuerung von Standard- und nicht-Standard-/unbekannten Methoden verwendet werden. Fⁿr weitere Einzelheiten lesen Sie bitte die Beschreibung zu <code class="directive"><a href="#limit"><Limit></a></code>.</p> <p>Beispiel:</p> <div class="example"><p><code> <LimitExcept POST GET><br /> <span class="indent"> Require valid-user<br /> </span> </LimitExcept> </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a>-<a name="limitinternalrecursion" id="limitinternalrecursion">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die maximale Anzahl interner Umleitungen und verschachtelter Unteranfragen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitInternalRecursion <var>Zahl</var> [<var>Zahl</var>]</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Verfⁿgbar ab Apache 2.0.47</td></tr> </table> <p>Eine interne Umleitung erfolgt beispielsweise, wenn die Direktive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> verwendet wird, welche die Originalanfrage intern zu einem CGI-Skript weiterleitet. Eine Unteranfrage <span class="transnote">(<em>Anm.d.▄.:</em> engl. Subrequest)</span> ist ein Mechanismus des Apache, um herauszufinden, was bei einer URI geschehen wⁿrde, wΣre sie angefordert worden. <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> z.B. verwendet Unteranfragen, um nach den Dateien zu suchen, die in der <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>-Anweisung aufgefⁿhrt sind.</p> <p><code class="directive">LimitInternalRecursion</code> bewahrt den Server vor einem Absturz, wenn er in eine Endlosschleife aus internen Umleitungen oder Unteranfragen hineinlΣuft. Derartige Schleifen werden gew÷hnlich durch Fehlkonfiguration verursacht.</p> <p>Die Direktive setzt zwei verschiedene Begrenzungen, welche je Anfrage ausgewertet werden. Die erste <var>Zahl</var> bestimmt die maximale Anzahl der Umleitungen, die aufeinander folgen dⁿrfen. Die zweite <var>Zahl</var> legt fest, wie tief Unteranfragen ineinander verschachtelt werden dⁿrfen. Wenn Sie lediglich eine <var>Zahl</var> angeben, wird sie beiden Begrenzungen zugewiesen.</p> <div class="example"><h3>Beispiel</h3><p><code> LimitInternalRecursion 5 </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a>-<a name="limitrequestbody" id="limitrequestbody">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Gesamtgr÷▀e des vom Client gesendeten HTTP-Request-Body</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestBody <var>Bytes</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestBody 0</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive gibt die Anzahl der <var>Bytes</var> zwischen 0 (unbegrenzt) und 2147483647 (2GB) an, die im Request-Body (Datenteil der Anfrage) erlaubt sind.</p> <p>Die Direktive <code class="directive">LimitRequestBody</code> erlaubt es dem Benutzer, die Gr÷▀e des HTTP-Request-Bodys in dem Kontext zu begrenzen, in dem die Anweisung angegeben ist (Server, pro Verzeichnis, pro Datei oder pro Adresse). Wenn die Anfrage des Clients dieses Limit ⁿberschreitet, gibt der Server einen Fehler zurⁿck anstatt die Anfrage zu bearbeiten. Die Gr÷▀e des Datenteils einer Anfrage kann sehr stark variieren, abhΣngig von der Art der Ressource und den fⁿr diese Ressource erlaubten Methoden. CGI-Skripte verwenden den Datenteil ⁿblicherweise zum Empfang von Formulardaten. Wird die <code>PUT</code>-Methode angewendet, dann muss der Wert mindestens so gro▀ sein wie irgendeine Darstellungsform, die der Server fⁿr diese Ressource akzeptieren soll.</p> <p>Die Direktive gibt dem Serveradministrator eine gr÷▀ere Kontrolle gegenⁿber abnormalem Verhalten von Clients, was bei der Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich sein kann.</p> <p>Wenn Sie beispielsweise das Hochladen von Dateien zu einer bestimmten Adresse erlauben, aber die Gr÷▀e der hochgeladenen Dateien auf 100K beschrΣnken wollen, k÷nnen Sie die folgende Anweisung verwenden:</p> <div class="example"><p><code> LimitRequestBody 102400 </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a>-<a name="limitrequestfields" id="limitrequestfields">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Anzahl der HTTP-Request-Header, die vom Client entgegengenommen werden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFields <var>Anzahl</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestFields 100</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p><var>Anzahl</var> ist ein Integer-Wert (eine positive Ganzzahl) zwischen 0 (unbegrenzt) und 32767. Die Voreinstellung wird durch die Konstante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (<code>100</code> bei der Auslieferung) zur Kompilierungszeit gesetzt.</p> <p>Die Direktive <code class="directive">LimitRequestFields</code> erlaubt es dem Serveradministrator, die maximale Anzahl der in einem HTTP-Request erlaubten HTTP-Request-Header zu verΣndern. Fⁿr den Server muss dieser Wert gr÷▀er sein als die Anzahl der Headerzeilen, die ein normaler Client senden k÷nnte. Die Anzahl der Request-Header, die ein gew÷hnlicher Client verwendet, ⁿberschreitet selten 20 Zeilen. Allerdings kann dies zwischen den verschiedenen Client-Ausfⁿhrungen variieren, oft abhΣngig vom Ausma▀, mit dem der Anwender die genaue Content-Negotiation-Unterstⁿtzung seines Browsers konfiguriert hat. Optionale HTTP-Erweiterungen Σu▀ern sich oft in Form von HTTP-Headern.</p> <p>Die Direktive gibt dem Serveradministrator eine gr÷▀ere Kontrolle gegenⁿber abnormalem Verhalten von Clients, was bei der Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich sein kann. Der Wert sollte erh÷ht werden, wenn normale Clients eine Fehlermeldung vom Server erhalten, die besagt, dass mit der Anfrage zu viele Headerzeilen gesendet wurden.</p> <p>Beispiel:</p> <div class="example"><p><code> LimitRequestFields 50 </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a>-<a name="limitrequestfieldsize" id="limitrequestfieldsize">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die LΣnge des vom Client gesendeten HTTP-Request-Headers</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestFieldsize <var>Bytes</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestFieldsize 8190</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive gibt die Anzahl der <var>Bytes</var> an, die in einem HTTP-Header erlaubt sind.</p> <p>Die Direktive <code class="directive">LimitRequestFieldsize</code> erlaubt es dem Serveradministrator, die maximale Gr÷▀e eines HTTP-Request-Headers zu verringern oder erh÷hen. Fⁿr den Server muss der Wert gro▀ genug sein, um eine beliebige Headerzeile einer normalen Client-Anfrage vorzuhalten. Die Gr÷▀e variiert stark zwischen den verschiedenen Client-Ausfⁿhrungen, oft abhΣngig vom Ausma▀, mit dem der Anwender die genaue Content-Negotiation-Unterstⁿtzung seines Browsers konfiguriert hat. SPNEGO-Authentisierungs-Header k÷nnen bis zu 12392 Bytes lang sein.</p> <p>Die Direktive gibt dem Serveradministrator eine gr÷▀ere Kontrolle gegenⁿber abnormalem Verhalten von Clients, was bei der Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich sein kann.</p> <p>Beispiel:</p> <div class="example"><p><code> LimitRequestFieldSize 4094 </code></p></div> <div class="note">Unter normalen UmstΣnden sollte die Voreinstellung nicht verΣndert werden.</div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a>-<a name="limitrequestline" id="limitrequestline">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die LΣnge der vom Client entgegengenommenen HTTP-Anfragezeile</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitRequestLine <var>Bytes</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitRequestLine 8190</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive legt die Anzahl der <var>Bytes</var> fest, die in der HTTP-Anfragezeile erlaubt sind.</p> <p>Die Direktive <code class="directive">LimitRequestLine</code> erlaubt es dem Serveradministrator, die maximale Gr÷▀e der HTTP-Anfragezeile zu verringern oder erh÷hen. Da die Anfragezeile aus der HTTP-Methode, der URI und der Protokollversion besteht, bedeutet die <code class="directive">LimitRequestLine</code>-Direktive eine BeschrΣnkung der LΣnge der fⁿr eine Anfrage an den Server erlaubten Anfrage-URI. Fⁿr den Server muss der Wert gro▀ genug sein, um jeden seiner Ressourcennamen vorzuhalten, einschlie▀lich aller Informationen, die im Query-String einer <code>GET</code>-Anfrage ⁿbergeben werden k÷nnen.</p> <p>Die Direktive gibt dem Serveradministrator eine gr÷▀ere Kontrolle gegenⁿber abnormalem Verhalten von Clients, was bei der Vermeidung einiger Formen von Denial-of-Service-Attacken hilfreich sein kann.</p> <p>Beispiel:</p> <div class="example"><p><code> LimitRequestLine 4094 </code></p></div> <div class="note">Unter normalen UmstΣnden sollte die Voreinstellung nicht verΣndert werden.</div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a>-<a name="limitxmlrequestbody" id="limitxmlrequestbody">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Gr÷▀e eines XML-basierten Request-Bodys</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LimitXMLRequestBody <var>Bytes</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Dies gibt die Grenze fⁿr die maximale Gr÷▀e (in Bytes) des XML-basierten Request-Bodys an. Der Wert <code>0</code> deaktiviert diese Prⁿfung.</p> <p>Beispiel:</p> <div class="example"><p><code> LimitXMLRequestBody 0 </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Location" id="Location"><Location></a>-<a name="location" id="location">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wendet die enthaltenen Direktiven nur auf die entsprechenden URLs an</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><Location <var>URL-Pfad</var>|<var>URL</var>> ... </Location></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive"><Location></code> begrenzt die Reichweite der enthaltenen Anweisungen auf URLs. Sie ist der Direktive <code class="directive"><a href="#directory"><Directory></a></code> Σhnlich und startet einen Abschnitt, der mit der Anweisung <code></Location></code> abgeschlossen wird. <code class="directive"><Location></code>-Container werden, nachdem die <code class="directive"><a href="#directory"><Directory></a></code>-Container und <code>.htaccess</code>-Dateien gelesen wurden, und nach den <code class="directive"><a href="#files"><Files></a></code>-Containern, in der Reihenfolge ausgefⁿhrt, in der sie in der Konfigurationsdatei erscheinen.</p> <p><code class="directive"><Location></code>-Abschnitte operieren vollstΣndig au▀erhalb des Dateisystems. Dies hat mehrere Konsequenzen. An Wichtigsten, <code class="directive"><Location></code>-Anweisungen sollten nicht dafⁿr verwendet werden, den Zugriff zu Teilen des Dateisystems zu steuern. Da mehrere unterschiedliche URLs auf die gleiche Stelle des Dateisystems zeigen k÷nnen, k÷nnte eine solche Zugriffskontrolle u.U. umgangen werden.</p> <div class="note"><h3>Wann sollte<code class="directive"><Location></code> verwendet werden</h3> <p>Verwenden Sie <code class="directive"><Location></code>, um Anweisungen auf Inhalte anzuwenden, die au▀erhalb des Dateisystems abgelegt sind. Benutzen Sie <code class="directive"><a href="#directory"><Directory></a></code> und <code class="directive"><a href="#files"><Files></a></code> fⁿr Inhalte, die innerhalb des Dateisystems abgelegt sind. Eine Ausnahme bildet <code><Location /></code>, welches ein einfacher Weg ist, um eine Konfiguration auf den gesamten Server anzuwenden.</p> </div> <p>Fⁿr alle nicht-Proxy-Anfragen ist die entsprechende URL ein URL-Pfad in der Form <code>/path/</code>. Es dⁿrfen weder ein Schema, noch ein Hostname, noch ein Port, noch ein Query-String einbezogen werden. Fⁿr Proxy-Anfragen hat die Vergleichs-URL die Form <code>schema://servername/path</code>. Das PrΣfix muss angegeben werden.</p> <p>Die URL kann Platzhalter verwenden. In einer Zeichenfolge mit Platzhaltern entspricht <code>?</code> einem einzelnen Zeichen und <code>*</code>einer beliebigen Zeichenfolge.</p> <p>Erweiterte regulΣre Ausdrⁿcke k÷nnen ebenfalls verwendet werden, indem das Zeichen <code>~</code> hinzugefⁿgt wird. Beispielsweise wⁿrde</p> <div class="example"><p><code> <Location ~ "/(extra|special)/data"> </code></p></div> <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code> oder <code>/special/data</code> enthalten. Die Direktive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> verhΣlt sich genauso wie <code class="directive"><Location></code> mit regulΣren Ausdrⁿcken.</p> <p>Die FunktionalitΣt von <code class="directive"><Location></code> ist insbesondere dann nⁿtzlich, wenn sie mit der <code class="directive"><a href="#sethandler">SetHandler</a></code>-Direktive kombiniert wird. Um zum Beispiel Statusabfragen zu aktivieren, sie aber nur von Browsern aus <code>foo.com</code> zuzulassen, k÷nnten Sie schreiben:</p> <div class="example"><p><code> <Location /status><br /> <span class="indent"> SetHandler server-status<br /> Order Deny,Allow<br /> Deny from all<br /> Allow from .foo.com<br /> </span> </Location> </code></p></div> <div class="note"><h3>Anmerkung zu / (SchrΣgstrich, Slash)</h3> <p>Das Slash-Zeichen hat eine besondere Bedeutung, je nachdem, wo es in der URL erscheint. Manche werden sein Verhalten vom Dateisystem gewohnt sein, wo mehrere aufeinanderfolgende SchrΣgstriche hΣufig zu einem SchrΣgstrich zusammengefa▀t werden (<em>d.h.</em> <code>/home///foo</code> ist das gleiche wie <code>/home/foo</code>). Im URL-Raum ist dies nicht notwendigerweise genauso. Bei der Direktive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> und der <code class="directive"><Location></code>-Version mit regulΣren Ausdrⁿcken mⁿssen Sie explizit mehrere SchrΣgstriche angeben, wenn Sie genau dies beabsichtigen.</p> <p>Beispielsweise wⁿrde <code><LocationMatch ^/abc></code> auf die angeforderte URL <code>/abc</code> passen, nicht aber auf <code>//abc</code>. Die Direktive <code class="directive"><Location></code> (ohne regulΣre Ausdrⁿcke) verhΣlt sich Σhnlich, wenn sie fⁿr Proxy-Anfragen verwendet wird. Wenn <code class="directive"><Location></code> (ohne regulΣre Ausdrⁿcke) jedoch fⁿr nicht-Proxy-Anfragen verwendet wird, werden stillscheigend mehrere SchrΣchstriche mit mit einem einzigen SchrΣgstrich gleichgesetzt. Geben Sie beispielsweise <code><Location /abc/def></code> an und die Anfrage lautet auf <code>/abc//def</code>, dann greift die Anweisung.</p> </div> <h3>Siehe auch</h3> <ul> <li><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> fⁿr eine ErlΣuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a>-<a name="locationmatch" id="locationmatch">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Wendet die enthaltenen Direktiven nur auf URLs an, die auf regulΣre Ausdrⁿcke passen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><LocationMatch <var>regex</var>> ... </LocationMatch></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive"><LocationMatch></code> begrenzt die Reichweite der enthaltenen Anweisungen in der gleichen Weise wie <code class="directive"><a href="#location"><Location></a></code> auf URLs. Sie verwendet jedoch regulΣre Ausdrⁿcke als Argument anstelle einer einfachen Zeichenkette. Beispielsweise wⁿrde</p> <div class="example"><p><code> <LocationMatch "/(extra|special)/data"> </code></p></div> <p>auf URLs passen, welche die Zeichenfolge <code>/extra/data</code> oder <code>/special/data</code> enthalten.</p> <h3>Siehe auch</h3> <ul> <li><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> fⁿr eine ErlΣuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a>-<a name="loglevel" id="loglevel">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Steuert die Ausfⁿhrlichkeit des Fehlerprotokolls</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>LogLevel <var>Level</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>LogLevel warn</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p><code class="directive">LogLevel</code> stellt die Ausfⁿhrlichkeit der Nachrichten ein, die im Fehlerprotokoll aufgezeichnet werden (siehe Direktive <code class="directive"><a href="#errorlog">ErrorLog</a></code>). Die folgenden, nach absteigender Aussagekraft sortierten <var>Level</var> sind verfⁿgbar:</p> <table class="bordered"> <tr> <th><strong>Level</strong> </th> <th><strong>Beschreibung</strong> </th> <th><strong>Beispiel</strong> </th> </tr> <tr> <td><code>emerg</code> </td> <td>Notfall - das System ist unbenutzbar.</td> <td>"Child cannot open lock file. Exiting" <span class="transnote">(<em>Anm.d.▄.:</em> "Kindprozess kann die Lock-Datei nicht ÷ffnen. Beende Programm")</span></td> </tr> <tr> <td><code>alert</code> </td> <td>Ma▀nahmen mⁿssen unverzⁿglich ergriffen werden.</td> <td>"getpwuid: couldn't determine user name from uid" <span class="transnote">(<em>Anm.d.▄.:</em> "getpwuid: kann keinen Benutzernamen aus der UID ermitteln")</span></td> </tr> <tr> <td><code>crit</code> </td> <td>Kritischer Zustand.</td> <td>"socket: Failed to get a socket, exiting child" <span class="transnote">(<em>Anm.d.▄.:</em> "socket: Socket-Zuweisung fehlgeschlagen, beende Kindprozess")</span></td> </tr> <tr> <td><code>error</code> </td> <td>Fehlerbedingung.</td> <td>"Premature end of script headers" <span class="transnote">(<em>Anm.d.▄.:</em> "Vorzeitiges Ende der Skript-Header")</span></td> </tr> <tr> <td><code>warn</code> </td> <td>Warnung.</td> <td>"child process 1234 did not exit, sending another SIGHUP" <span class="transnote">(<em>Anm.d.▄.:</em> "Kindprozess 1234 nicht beendet, sende ein weiteres SIGHUP")</span></td> </tr> <tr> <td><code>notice</code> </td> <td>Normaler, aber signifikanter Zustand.</td> <td>"httpd: caught SIGBUS, attempting to dump core in ..." <span class="transnote">(<em>Anm.d.▄.:</em> "httpd: SIGBUS empfangen, versuche Speicherabbild nach ... zu schreiben")</span></td> </tr> <tr> <td><code>info</code> </td> <td>Information.</td> <td>"Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)..." <span class="transnote">(<em>Anm.d.▄.:</em> "Server scheint beschΣftigt zu sein, (m÷glicherweise mⁿssen Sie StartServers oder Min/MaxSpareServers erh÷hen)")</span></td> </tr> <tr> <td><code>debug</code> </td> <td>Debug-Level-Nachrichten</td> <td>"Opening config file ..." <span class="transnote">(<em>Anm.d.▄.:</em> "╓ffne Konfigurationsdatei ...")</span></td> </tr> </table> <p>Geben Sie einen bestimmten Level an, denn werden Nachrichten von allen h÷heren Leveln ebenso angezeigt. <em>Z.B.:</em> Wenn <code>LogLevel info</code> eingestellt ist, dann werden Nachrichten der Log-Level <code>notice</code> und <code>warn</code> ebenso eingetragen.</p> <p>Es wird empfohlen, mindestens den Level <code>crit</code> zu verwenden.</p> <p>Beispiel:</p> <div class="example"><p><code> LogLevel notice </code></p></div> <div class="note"><h3>Hinweis</h3> <p>Beim Protokollieren in eine regulΣre Datei k÷nnen Nachrichten des Levels <code>notice</code> nicht unterdrⁿckt werden und werden daher immer protokolliert. Dies trifft allerdings nicht zu, wenn mittels <code>syslog</code> protokolliert wird.</p> </div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a>-<a name="maxkeepaliverequests" id="maxkeepaliverequests">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Anfragen, die bei einer persistenten Verbindung zulΣssig sind</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxKeepAliveRequests <var>Anzahl</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">MaxKeepAliveRequests</code> begrenzt die Anzahl der Anfragen, die pro Verbindung zulΣssig sind, wenn <code class="directive"><a href="#keepalive">KeepAlive</a></code> eingeschaltet ist. Bei der Einstellung <code>0</code> sind unbegrenzt viele Anfragen erlaubt. Wir empfehlen fⁿr diese Einstellung einen hohen Wert fⁿr eine maximale Serverleistung.</p> <p>Beispiel:</p> <div class="example"><p><code> MaxKeepAliveRequests 500 </code></p></div> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a>-<a name="namevirtualhost" id="namevirtualhost">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt eine IP-Adresse fⁿr den Betrieb namensbasierter virtueller Hosts</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>NameVirtualHost <var>Adresse</var>[:<var>Port</var>]</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">NameVirtualHost</code> ist erforderlich, wenn Sie <a href="../vhosts/">namensbasierte virtuelle Hosts</a> konfigurieren m÷chten.</p> <p>Obwohl <var>Adresse</var> eine Hostname sein kann, wird empfohlen, dass Sie stets eine IP-Adresse verwenden, z.B.:</p> <div class="example"><p><code> NameVirtualHost 111.22.33.44 </code></p></div> <p>Mit der <code class="directive">NameVirtualHost</code>-Anweisung geben Sie die IP-Adresse an, unter der der Server Anfragen fⁿr namensbasierte virtuelle Hosts entgegennimmt. Das ist ⁿblicherweise die Adresse, zu der die Namen Ihrer namensbasierten virtuellen Hosts aufgel÷st werden. Falls eine Firewall oder ein anderer Proxy die Anfrage in Empfang nimmt und Sie zu einer weiteren IP-Adresse des Servers weiterleitet, mⁿssen Sie die IP-Adresse der physikalischen Schnittstelle der Maschine angeben, welche die Anfragen bedient. Wenn Sie mehrere namensbasierte Hosts an verschiedenen Adressen betreiben, wiederholen Sie einfach die Anweisung fⁿr jede Adresse.</p> <div class="note"><h3>Anmerkung</h3> <p>Beachten Sie, dass der "Hauptserver" und jeder <code>_default_</code>-Server <strong>niemals</strong> bei einer Anfrage an einer <code class="directive">NameVirtualHost</code>-IP-Adresse bedient wird (es sei denn, Sie geben aus irgendwelchen Grⁿnden <code class="directive">NameVirtualHost</code> an, definieren dann aber keine <code class="directive">VirtualHost</code>s fⁿr diese Adresse).</p> </div> <p>Optional k÷nnen Sie die Nummer eines Ports angeben, an dem namensbasierte virtuelle Hosts verwendet werden sollen. Beispiel:</p> <div class="example"><p><code> NameVirtualHost 111.22.33.44:8080 </code></p></div> <p>IPv6-Adressen mⁿssen, wie im folgenden Beispiel angegeben, in eckige Klammern eingeschlossen werden:</p> <div class="example"><p><code> NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 </code></p></div> <p>Um an allen Schnittstellen Anfragen zu empfangen, k÷nnen Sie <code>*</code> als Argument verwenden.</p> <div class="example"><p><code> NameVirtualHost * </code></p></div> <div class="note"><h3>Argument der Direktive <code class="directive"><VirtualHost></code></h3> <p>Beachten Sie, dass das Argument der <code class="directive"><VirtualHost></code>-Anweisung exakt auf das Argument der <code class="directive">NameVirtualHost</code>-Anweisung passen muss.</p> <div class="example"><p><code> NameVirtualHost 1.2.3.4<br /> <VirtualHost 1.2.3.4><br /> # ...<br /> </VirtualHost><br /> </code></p></div> </div> <h3>Siehe auch</h3> <ul> <li><a href="../vhosts/">Dokumentation zu virtuellen Hosts</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Options" id="Options">Options</a>-<a name="options" id="options">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Definiert, welche Eigenschaften oder Funktionen in einem bestimmten Verzeichnis verfⁿgbar sind</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Options [+|-]<var>Option</var> [[+|-]<var>Option</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Options All</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">Options</code> steuert, welche Eigenschaften bzw. Funktionen in einem bestimmten Verzeichnis verfⁿgbar sind.</p> <p><var>Option</var> kann auf <code>None</code> gesetzt werden, wobei keine der besonderen Eigenschaften verfⁿgbar sind, oder auf eines oder mehrere der folgenden:</p> <dl> <dt><code>All</code></dt> <dd>Alle Optionen au▀er <code>MultiViews</code>. Dies ist die Voreinstellung.</dd> <dt><code>ExecCGI</code></dt> <dd>Die Ausfⁿhrung von CGI-Skripten, welche <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> verwenden, ist erlaubt.</dd> <dt><code>FollowSymLinks</code></dt> <dd>Der Server folgt symbolischen Links in diesem Verzeichnis. <div class="note"> <p>Auch wenn der Server symbolischen Links folgt, bedeutet dies <em>nicht</em>, dass der zum Abgleich gegen <code class="directive"><a href="#directory"><Directory></a></code>-Abschnitte verwendete Pfadname wechselt.</p> <p>Beachten Sie auch, dass diese Option innerhalb eines <code class="directive"><a href="#location"><Location></a></code>-Abschnitts <strong>ignoriert wird</strong>.</p> </div></dd> <dt><code>Includes</code></dt> <dd> Server Side Includes, die von <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> bereitgestellt werden, sind erlaubt.</dd> <dt><code>IncludesNOEXEC</code></dt> <dd>Server Side Includes sind erlaubt, <code>#exec cmd</code> und <code>#exec cgi</code> sind jedoch deaktiviert. Es ist aber noch m÷glich, CGI-Skripte aus <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>-Verzeichnissen mittels <code>#include virtual</code> einzubinden.</dd> <dt><code>Indexes</code></dt> <dd>Wenn eine URL, die auf ein Verzeichnis zeigt, in dem sich keine durch <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> definierte Indexdatei (<em>z.B.</em> <code>index.html</code>) befindet, dann liefert <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> eine formatierte Auflistung des Verzeichnisses zurⁿck.</dd> <dt><code>MultiViews</code></dt> <dd>"MultiViews" sind bei der Verwendung von <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> erlaubt (siehe <a href="../content-negotiation.html">Content-Negotiation</a>).</dd> <dt><code>SymLinksIfOwnerMatch</code></dt> <dd>Der Server folgt nur symbolischen Links, bei denen die Zieldatei bzw. das Zielverzeichnis der gleichen Benutzerkennung geh÷rt, wie der Link. <div class="note"><h3>Anmerkung</h3> Diese Option wird innerhalb eines <code class="directive"><a href="#location"><Location></a></code>-Abschnitts ignoriert.</div></dd> </dl> <p>Wenn mehrere <code class="directive">Options</code> auf ein Verzeichnis angewandt werden k÷nnen, dann wird normalerweise die spezifischste <span class="transnote">(<em>Anm.d.▄.:</em> Gemeint ist die zuletzt ausgefⁿhrte Option.)</span> verwendet und alle anderen werden ignoriert; die Optionen werden nicht vermischt. (Siehe auch <a href="../sections.html#mergin">Wie Abschnitte zusammengefⁿhrt werden.</a>.) Wenn jedoch <em>allen</em> Optionen der <code class="directive">Options</code>-Anweisung eines der Zeichen <code>+</code> oder <code>-</code> vorangestellt wird, werden die Optionen zusammengemischt. Jede Option mit vorangestelltem <code>+</code> wird zu den momentan gⁿltigen Optionen hinzugefⁿgt und jede Option mit vorangestelltem <code>-</code> wird aus den derzeit gⁿltigen Optionen entfernt.</p> <p>So wird zum Beispiel ohne die Zeichen <code>+</code> und <code>-</code></p> <div class="example"><p><code> <Directory /web/docs><br /> <span class="indent"> Options Indexes FollowSymLinks<br /> </span> </Directory><br /> <br /> <Directory /web/docs/spec><br /> <span class="indent"> Options Includes<br /> </span> </Directory> </code></p></div> <p>fⁿr das Verzeichnis <code>/web/docs/spec</code> wird jetzt lediglich <code>Includes</code> gesetzt. Wenn die zweite <code class="directive">Options</code>-Anweisung jedoch <code>+</code>- und <code>-</code>-Zeichen verwenden wⁿrde,</p> <div class="example"><p><code> <Directory /web/docs><br /> <span class="indent"> Options Indexes FollowSymLinks<br /> </span> </Directory><br /> <br /> <Directory /web/docs/spec><br /> <span class="indent"> Options +Includes -Indexes<br /> </span> </Directory> </code></p></div> <p>dann wⁿrden die Optionen <code>FollowSymLinks</code> und <code>Includes</code> fⁿr das Verzeichnis <code>/web/docs/spec</code> gesetzt.</p> <div class="note"><h3>Anmerkung</h3> <p>Die Verwendung von <code>-IncludesNOEXEC</code> oder <code>-Includes</code> deaktiviert Server Side Includes unabhΣngig von der vorigen Einstellung vollstΣndig.</p> </div> <p>Die Voreinstellung ist <code>All</code>, sofern keine anderen Angaben gemacht wurden.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Require" id="Require">Require</a>-<a name="require" id="require">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>WΣhlt die authentisierten Benutzer aus, die auf eine Ressource zugreifen k÷nnen</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Require <var>Name</var> [<var>Name</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive wΣhlt aus, welche authentisierten Benutzer auf eine Ressource zugreifen dⁿrfen. Folgende Syntax ist erlaubt:</p> <dl> <dt><code>Require user <var>User-ID</var> [<var>User-ID</var>] ...</code></dt> <dd>Nur die genannten Benutzer dⁿrfen auf die Ressource zugreifen.</dd> <dt><code>Require group <var>Gruppenname</var> [<var>Gruppenname</var>] ...</code></dt> <dd>Nur Benutzer der genannten Gruppen dⁿrfen auf die Ressource zugreifen.</dd> <dt><code>Require valid-user</code></dt> <dd>Alle gⁿltigen Benutzer dⁿrfen auf die Ressource zugreifen.</dd> </dl> <p><code class="directive">Require</code> muss von den Direktiven <code class="directive"><a href="#authname">AuthName</a></code> und <code class="directive"><a href="#authtype">AuthType</a></code> sowie Direktiven wie <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> und <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> (zur Definition von Benutzern und Gruppen) begleitet werden, um korrekt zu funktionieren. Beispiel:</p> <div class="example"><p><code> AuthType Basic<br /> AuthName "Geschⁿtzte Ressource"<br /> AuthUserFile /web/users<br /> AuthGroupFile /web/groups<br /> Require group admin </code></p></div> <p>Zugriffskontrollen, die in dieser Form angewandt werden, gelten fⁿr <strong>alle</strong> Methoden. <strong>Dies ist normalerweise gewⁿnscht.</strong> Wenn Sie Zugriffskontrollen nur auf bestimmte Methoden anwenden m÷chten, wΣhrend andere Methoden ungeschⁿtzt bleiben, dann mⁿssen Sie die <code class="directive">Require</code>-Anweisung innerhalb eines <code class="directive"><a href="#limit"><Limit></a></code>-Abschnitts platzieren.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#satisfy">Satisfy</a></code></li> <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a>-<a name="rlimitcpu" id="rlimitcpu">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt den CPU-Verbrauch von Prozessen, die von Apache-Kindprozessen gestartet wurden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitCPU <var>Sekunden</var>|max [<var>Sekunden</var>|max]</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine weiche Ressourcenbegrenzung fⁿr alle Prozesse, der zweite Parameter setzt die Maximalgrenze fⁿr die Ressourcennutzung. Jeder der Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung erfordert, dass der Server als <code>root</code> lΣuft, zumindest in der anfΣnglichen Startphase.</p> <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden Apache-Kindprozessen abgespalten werden, nicht auf die Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess abgespalten werden, wie z.B. Protokollierung.</p> <p>CPU-Ressourcenbegrenzung wird in Sekunden pro Prozess ausgedrⁿckt.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a>-<a name="rlimitmem" id="rlimitmem">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt den Speicherverbrauch von Prozessen, die von Apache-Kindprozessen gestartet wurden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitMEM <var>Bytes</var>|max [<var>Bytes</var>|max]</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine weiche Ressourcenbegrenzung fⁿr alle Prozesse, der zweite Parameter setzt die Maximalgrenze fⁿr die Ressourcennutzung. Jeder der Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung erfordert, dass der Server als <code>root</code> lΣuft, zumindest in der anfΣnglichen Startphase.</p> <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden Apache-Kindprozessen abgespalten werden, nicht auf die Apache-Kindprozesse selbst. Das beinhaltet CGI-Skripte und SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess abgespalten werden, wie z.B. Protokollierung.</p> <p>Die Begrenzung des Speicherverbrauchs wird in Bytes pro Prozess ausgedrⁿckt.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a>-<a name="rlimitnproc" id="rlimitnproc">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt die Anzahl der Prozesse, die von Prozessen gestartet werden k÷nnen, der ihrerseits von Apache-Kinprozessen gestartet wurden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>RLimitNPROC <var>Zahl</var>|max [<var>Zahl</var>|max]</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>unbestimmt; verwendet die Voreinstellung des Systems</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Akzeptiert einen oder zwei Parameter. Der erste Paramater setzt eine weiche Ressourcenbegrenzung fⁿr alle Prozesse, der zweite Parameter setzt die Maximalgrenze fⁿr die Ressourcennutzung. Jeder der Parameter kann eine Zahl oder <code>max</code> sein. <code>max</code> zeigt dem Server an, dass das vom Betriebssystem erlaubte Maximum verwendet werden soll. Das Anheben der maximal erlaubten Ressourcennutzung erfordert, dass der Server als <code>root</code> lΣuft, zumindest in der anfΣnglichen Startphase.</p> <p>Dies wird auf Prozesse angewendet, die von Anfragen bearbeitenden Apache-Kindprozessen abgespalten werden, nicht auf die Apache-Kindprozesse selbst. Dies beinhaltet CGI-Skripte und SSI-exec-Befehle, nicht jedoch Prozesse, die vom Apache-Elternprozess abgespalten werden, wie z.B. Protokollierung.</p> <p>Prozessbegrenzungen steuern die Anzahl der Prozesse pro Benutzer.</p> <div class="note"><h3>Anmerkung</h3> <p>Wenn CGI-Prozesse nicht unter anderen Benutzerkennungen als der User-ID des Webservers laufen, dann beschrΣnkt diese Direktive die Anzahl der Prozesse, die der Server selbst erstellen kann. Kennzeichen einer solchen Situation sind <strong><code>cannot fork</code></strong>-Meldungen <span class="transnote">(<em>Anm.d.▄.:</em> <code>kann nicht abspalten</code>)</span> in der Datei <code>error_log</code>.</p> </div> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a>-<a name="satisfy" id="satisfy">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zusammenspiel von rechnerbasierter Zugriffskontrolle und Benutzerauthentisierung</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Satisfy Any|All</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Satisfy All</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Wird seit Version 2.0.51 von <code class="directive"><a href="#limit"><Limit></a></code> und <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> beeinflusst</td></tr> </table> <p>Verfahrensweise fⁿr den Zugriff, falls sowohl <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> als auch <code class="directive"><a href="#require">Require</a></code> verwendet werden. Der Parameter kann entweder <code>All</code> oder <code>Any</code> sein. Die Direktive ist nur dann nⁿtzlich, wenn der Zugriff zu einem bestimmten Bereich durch Benutzername/Passwort <em>und</em> Clientrechner-Adressen eingeschrΣnkt ist. In diesem Fall verlangt die Voreinstellung (<code>All</code>), dass der Client die AdressbeschrΣnkung passiert <em>und</em> eine gⁿltige Benutzerkennung und ein gⁿltiges Passwort ⁿbermittelt. Mit der Auswahl <code>Any</code> wird dem Client der Zugriff erlaubt, wenn er entweder die Rechner-BeschΣnkung passiert oder einen gⁿltigen Benutzernamen und ein gⁿltiges Passwort ⁿbermittelt. Dies kann verwendet werden, um einen Bereich mit einem Passwort zu schⁿtzen, jedoch Clients von bestimmten Adressen ohne Abfrage des Passwortes zuzulassen.</p> <p>Wenn Sie beispielsweise m÷chten, dass Personen aus Ihrem privaten Netzwerk unbechΣnkten Zugriff zu Teilen Ihres Webangebots haben, jedoch verlangen, dass Personen au▀erhalb Ihres privaten Netzwerks ein Passwort ⁿbergeben mⁿssen, k÷nnen Sie eine Konfiguration Σhnlich der folgenden verwenden:</p> <div class="example"><p><code> Require valid-user<br /> Allow from 192.168.1<br /> Satisfy Any </code></p></div> <p>Seit Version 2.0.51 k÷nnen <code class="directive">Satisfy</code>-Anweisungen durch <code class="directive"><a href="#limit"><Limit></a></code>- und <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>-Abschnitte auf bestimmte Methoden beschrΣnkt werden.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code></li> <li><code class="directive"><a href="#require">Require</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a>-<a name="scriptinterpretersource" id="scriptinterpretersource">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Methode zur Ermittlung des Interpreters von CGI-Skripten</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>ausschlie▀lich Win32; Die Option <code>Registry-Strict</code> ist verfⁿgbar seit Apache 2.0.</td></tr> </table> <p>Die Direktive steuert, wie der Apache den Interpreter zur Ausfⁿhrung von CGI-Skripten bestimmt. Die Voreinstellung ist <code>Script</code>. Dies veranla▀t den Apache, den Interpreter zu verwenden, auf den die Shebang-Zeile (erste Zeile, beginnt mit <code>#!</code>) im Skript zeigt. Auf Win32-Systemen sieht diese Zeile ⁿblicherweise so aus:</p> <div class="example"><p><code> #!C:/Perl/bin/perl.exe </code></p></div> <p>oder, wenn <code>perl</code> im Pfad (Umgebungsvariable <code>PATH</code>) liegt, einfach:</p> <div class="example"><p><code> #!perl </code></p></div> <p>Die Einstellung <code>ScriptInterpreterSource Registry</code> veranla▀t eine Suche in <code>HKEY_CLASSES_ROOT</code> der Windows-Registrierungsdatenbank und verwendet die Endung der Skript-Datei (z.B. <code>.pl</code>) als Suchargument. Der durch den Unterschlⁿssel <code>Shell\ExecCGI\Command</code> oder, falls dieser nicht existiert, <code>Shell\Open\Command</code> definierte Befehl wird zum ╓ffnen der Skript-Datei verwendet. Wenn der Schlⁿssel zur Dateiendung oder beide Unterschlⁿssel fehlen, dann verwendet der Apache die Option <code>Script</code>.</p> <div class="warning"><h3>Sicherheit</h3> <p>Seien Sie vorsichtig, <code>ScriptInterpreterSource Registry</code> bei Verzeichnissen zu verwenden, auf die eine <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>-Anweisung zeigt, denn der Apache versucht <strong>jede</strong> Datei innerhalb des Verzeichnisses auszufⁿhren. Die Einstellung <code>Registry</code> kann unerwⁿnschte Programmaufrufe bei Dateien verursachen, die ⁿblicherweise nicht ausgefⁿhrt werden. Auf den meisten Windows-Systemen beispielsweise startet der voreingestellte ╓ffnen-Befehl fⁿr <code>.htm</code>-Dateien den Microsoft Internet Explorer, so dass jede HTTP-Anfrage nach einer existierenden <code>.htm</code>-Datei im Skript-Verzeichnis den Browser im Hintergrund starten wⁿrde. Dies ist eine wirksame Methode, Ihr System binnen etwa einer Minute zum Absturz zu bringen.</p> </div> <p>Die seit Apache 2.0 neue Option <code>Registry-Strict</code> macht das gleiche wie <code>Registry</code>, verwendet jedoch nur den Unterschlⁿssel <code>Shell\ExecCGI\Command</code>. Der Schlⁿssel <code>ExecCGI</code> ist gew÷hnlich nicht voreingestellt. Er muss manuell eingerichtet werden und schⁿtzt Ihr System so for versehentlichen Programmaufrufen.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a>-<a name="serveradmin" id="serveradmin">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>E-Mail-Adresse, die der Server in Fehlermeldungen einfⁿgt, welche an den Client gesendet werden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAdmin <var>E-Mail-Adresse</var>|<var>URL</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p><code class="directive">ServerAdmin</code> legt die Kontaktadresse fest, die der Server in jede Fehlermeldung einfⁿgt, die er an den Client zurⁿckschickt. Wenn <code>httpd</code> das ⁿbergebene Argument nicht als URL erkennt, nimmt er an, dess es sich um eine <var>E-Mail-Adresse</var> handelt und stellt in Hyperlinks <code>mailto:</code> voran. Es ist jedoch sogar sinnvoll, eine E-Mail-Adresse zu verwenden, da viele CGI-Skripte davon ausgehen. Wenn Sie eine URL verwenden m÷chten, sollten Sie auf einem anderen unter Ihrer Kontrolle stehenden Server verweisen. Andernfalls k÷nnen Besucher Sie im Fehlerfall m÷glicherweise nicht kontaktieren.</p> <p>Es kann sich lohnen, hierfⁿr eine reservierte Adresse anzugeben, z.B.</p> <div class="example"><p><code> ServerAdmin www-admin@foo.example.com </code></p></div> <p>da Anwender nicht unbedingt erwΣhnen, dass sie vom Server sprechen!</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a>-<a name="serveralias" id="serveralias">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Alternativer Name fⁿr einen Host, der verwendet wird, wenn Anfragen einem namensbasierten virtuellen Host zugeordnet werden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerAlias <var>Hostname</var> [<var>Hostname</var>] ...</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">ServerAlias</code> bestimmt die alternativen Namen eines Hosts zur Verwendung mit <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a>.</p> <div class="example"><p><code> <VirtualHost *><br /> ServerName server.domain.com<br /> ServerAlias server server2.domain.com server2<br /> # ...<br /> </VirtualHost> </code></p></div> <h3>Siehe auch</h3> <ul> <li><a href="../vhosts/">Apache-Dokumentation zu virtuellen Hosts</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a>-<a name="servername" id="servername">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Rechnername und Port, die der Server dazu verwendet, sich selbst zu identifizieren</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerName <var>voll-qualifizierter-Domainname</var>[:<var>port</var>]</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Diese Direktive l÷st in Version 2.0 die FunktionalitΣt der Direktive <code class="directive">Port</code> aus Version 1.3 ab.</td></tr> </table> <p>Die Direktive <code class="directive">ServerName</code> bestimmt den Rechnernamen und Port, den der Server dazu verwendet, sich selbst zu identifizieren. Diese werden bei der Erstellung von Umleitungs-URLs ben÷tigt. Wenn beispielsweise der Name der Maschine, die den Webserver beherbergt, <code>simple.example.com</code> lautet, die Maschine jedoch auch einen DNS-Alias <code>www.example.com</code> besitzt und Sie den Webserver so identifizieren m÷chten, sollten Sie die folgende Anweisung verwenden:</p> <div class="example"><p><code> ServerName www.example.com:80 </code></p></div> <p>Wenn kein <code class="directive">ServerName</code> angegeben wurde, dann versucht der Server den Rechnernamen mittels eines Reverse-Lookup herzuleiten. Wenn kein Port in der <code class="directive">ServerName</code>-Anweisung angegeben wurde, dann verwendet der Server den Port der eingegangenen Anfrage. Fⁿr eine optimale ZuverlΣssigkeit und Berechenbarkeit sollten Sie einen eindeutigen Rechnernamen und Port angeben, in dem Sie die Direktive <code class="directive">ServerName</code> verwenden.</p> <p>Wenn Sie <a href="../vhosts/name-based.html">namensbasierte virtuelle Hosts</a> verwenden, gibt <code class="directive">ServerName</code> innerhalb eines <code class="directive"><a href="#virtualhost"><VirtualHost></a></code>-Abschnitts an, welcher Hostname im <code>Host:</code>-Header der Anfrage auftauchen muss, damit sie diesem virtuellen Host zugeordnet wird.</p> <p>Lesen Sie bitte die Beschreibung der Direktive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> fⁿr Einstellungen, die bestimmen, ob selbstreferenzierende URLs (z.B. vom Modul <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) auf den angegebenen Port zeigen oder auf die Portnummern die in der Anfrage des Clients angegeben ist.</p> <h3>Siehe auch</h3> <ul> <li><a href="../dns-caveats.html">Probleme bezⁿglich DNS und Apache</a></li> <li><a href="../vhosts/">Apache-Dokumentation zu virtuellen Hosts</a></li> <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> <li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li> <li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a>-<a name="serverpath" id="serverpath">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Veralteter URL-Pfad fⁿr einen namensbasierten virtuellen Host, auf den von einem inkompatiblen Browser zugegriffen wird</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerPath <var>URL-Pfad</var></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Virtual Host</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">ServerPath</code> legt den veralteten <span class="transnote">(<em>Anm.d.▄.:</em> Gemeint ist eigentlich "Altlast" aufgrund antiquierter Clients.)</span> URL-Pfad eines Hosts zur Verwendung mit <a href="../vhosts/">namensbasierten virtuellen Hosts</a> fest.</p> <h3>Siehe auch</h3> <ul> <li><a href="../vhosts/">Apache-Dokumentation zu virtuellen Hosts</a></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a>-<a name="serverroot" id="serverroot">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Basisverzeichnis der Serverinstallation</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerRoot <var>Verzeichnis</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">ServerRoot</code> bestimmt das Verzeichnis, in dem der Server installiert ist. ▄blicherweise enthΣlt es die Unterverzeichnisse <code>conf/</code> und <code>logs/</code>. Relative Pfadangaben anderer Direktiven (wie z.B. <code class="directive"><a href="#include">Include</a></code> oder <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) werden relativ zu diesem Verzeichnis betrachtet.</p> <div class="example"><h3>Beispiel</h3><p><code> ServerRoot /home/httpd </code></p></div> <h3>Siehe auch</h3> <ul> <li><a href="../invoking.html">Die <code>httpd</code>-Option <code>-d</code></a></li> <li><a href="../misc/security_tips.html#serverroot">Sicherheitshinweise</a> fⁿr Informationen, wie die Rechte auf das <code class="directive">ServerRoot</code>-Verzeichnis richtig gesetzt werden</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a>-<a name="serversignature" id="serversignature">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Konfiguriert die Fu▀zeile von servergenerierten Dokumenten</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerSignature Off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">ServerSignature</code> erm÷glicht die Gestaltung einer unter servergenerierten Dokumenten (z.B. Fehlerdokumente, FTP-Verzeichnislisten von <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>-Ausgaben, ...) angefⁿgten Fu▀zeile. Ein m÷glicher Grund fⁿr die Aktivierung einer solchen Fu▀zeile ist, dass der Anwender bei einer Kette von Proxy-Servern oft keine M÷glichkeit hat, zu erkennen, welcher der verketteten Server gegenwΣrtig die zurⁿckgegebene Fehlermeldung produziert hat.</p> <p>Die (Vor-)Einstellung <code>Off</code> unterdrⁿckt die Fu▀zeile (und ist damit kompatibel zum Verhalten des Apache 1.2 und frⁿher). Die Einstellung <code>On</code> fⁿgt schlicht eine Zeile mit der Versionsnummer des Servers und dem Servernamen (<code class="directive"><a href="#servername">ServerName</a></code>) des bedienenden virtuellen Hosts an. Die Einstellung <code>EMail</code> erstellt zusΣtzlich einen "mailto:"-Verweis zum Serveradministrator (<code class="directive"><a href="#serveradmin">ServerAdmin</a></code>) des referenzierten Dokuments.</p> <p>Ab Version 2.0.44 werden die Details der angegebenen Versionsnummer des Servers von der Direktive <code class="directive"><a href="#servertokens">ServerTokens</a></code> kontrolliert.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a>-<a name="servertokens" id="servertokens">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Konfiguriert den HTTP-Response-Header <code>Server</code></td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ServerTokens Full</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>die Direktive steuert, ob der Response-Header <code>Server</code>, der an den Client zurⁿckgesendet wird, eine Beschreibung des allgemeinen Betriesbsystemtyps des Servers wie auch Informationen ⁿber einkompilierte Module enthΣlt.</p> <dl> <dt><code>ServerTokens Prod[uctOnly]</code></dt> <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache</code></dd> <dt><code>ServerTokens Major</code></dt> <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2</code></dd> <dt><code>ServerTokens Minor</code></dt> <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0</code></dd> <dt><code>ServerTokens Min[imal]</code></dt> <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41</code></dd> <dt><code>ServerTokens OS</code></dt> <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41 (Unix)</code></dd> <dt><code>ServerTokens Full</code> (oder nicht angegeben)</dt> <dd>Der Server sendet (<em>z.B.</em>): <code>Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2</code></dd> </dl> <p>Diese Einstellung gilt fⁿr den gesamten Server und kann nicht auf Virtual-Host-Basis aktiviert oder deaktiviert werden.</p> <p>Ab Version 2.0.44 steuert diese Direktive auch die Informationen, die durch die Direktive <code class="directive"><a href="#serversignature">ServerSignature</a></code> angeboten werden.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a>-<a name="sethandler" id="sethandler">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Erzwingt die Verarbeitung aller passenden Dateien durch einen Handler</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetHandler <var>Handlername</var>|None</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> <tr><th><a href="directive-dict.html#Compatibility">KompatibilitΣt:</a></th><td>Seit Apache 2.0 im Core</td></tr> </table> <p>Wenn die Direktive innerhalb einer <code>.htaccess</code>-Datei oder in einem <code class="directive"><a href="#directory"><Directory></a></code>- oder <code class="directive"><a href="#location"><Location></a></code>-Abschnitt angegeben wird, erzwingt sie, dass alle entsprechenden Dateien von dem durch <var>Handlername</var> angegebenen <a href="../handler.html">Handler</a> analysiert werden. Wenn Sie beispielsweise ein Verzeichnis haben, dessen Dateien unabhΣngig von der Endung gΣnzlich als Image-Maps interpretiert werden sollen, k÷nnen Sie folgendes in eine <code>.htaccess</code>-Datei in dem Verzeichnis schreiben:</p> <div class="example"><p><code> SetHandler imap-file </code></p></div> <p>Noch ein Beispiel: wenn Sie den Server immer, wenn die URL <code>http://servername/status</code> aufgerufen wird, einen Statusbericht anzeigen lassen m÷chten, dann k÷nnen Sie folgendes in die <code>httpd.conf</code> schreiben:</p> <div class="example"><p><code> <Location /status><br /> <span class="indent"> SetHandler server-status<br /> </span> </Location> </code></p></div> <p>Sie k÷nnen eine zuvor definierte <code class="directive">SetHandler</code>-Anweisung aufheben, indem Sie den Wert <code>None</code> verwenden.</p> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a>-<a name="setinputfilter" id="setinputfilter">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Filter, die Client-Anfragen und POST-Eingaben verarbeiten</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetInputFilter <var>Filter</var>[;<var>Filter</var>...]</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">SetInputFilter</code> bestimmt den oder die Filter, die Client-Anfragen und POST-Eingaben verarbeiten, wenn sie vom Server empfangen werden. Diese gelten zusΣtzlich zu anderweitig definierten Filtern, einschlie▀lich denen der Direktive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p> <p>Wenn mehr als ein Filter angegeben wird, dann mⁿssen diese durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, in der sie die Daten verarbeiten sollen.</p> <h3>Siehe auch</h3> <ul> <li><a href="../filter.html">Filter</a>-Dokumentation</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a>-<a name="setoutputfilter" id="setoutputfilter">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Filter, die Antworten des Servers verarbeiten</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SetOutputFilter <var>Filter</var>[;<var>Filter</var>...]</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess</td></tr> <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">SetOutputFilter</code> bestimmt die Filter, die Antworten des Servers verarbeiten, bevor sie an den Client gesendet werden. Diese gelten zusΣtzlich zu anderweitig definierten Filtern, einschlie▀lich denen der Direktive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p> <p>Die folgende Konfiguration verarbeitet zum Beispiel alle Dateien im Verzeichnis <code>/www/data</code> als Server Side Includes.</p> <div class="example"><p><code> <Directory /www/data/><br /> <span class="indent"> SetOutputFilter INCLUDES<br /> </span> </Directory> </code></p></div> <p>Wenn mehr als ein Filter angegeben wird, dann mⁿssen diese durch Semikolon voneinander getrennt in der Reihenfolge angegeben werden, in der sie die Daten verarbeiten sollen.</p> <h3>Siehe auch</h3> <ul> <li><a href="../filter.html">Filter</a>-Dokumentation</li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a>-<a name="timeout" id="timeout">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Zeitspanne, die der Server auf verschiedene Ereignisse wartet, bevor er die Anfrage abbricht</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>TimeOut <var>Sekunden</var></code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>TimeOut 300</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>Die Direktive <code class="directive">TimeOut</code> definiert derzeit die Zeitspanne, die der Apache auf drei Dinge wartet:</p> <ol> <li>Die gesamte Zeispanne, die ben÷tigt wird, um eine GET-Anfrage zu empfangen.</li> <li>Die Zeitspanne zwischen dem Empfang von TCP-Paketen einer POST- oder PUT-Anfrage.</li> <li>Die Zeitspanne zwischen ACKs bei der ▄bermittlung der TCP-Pakete der Antwort.</li> </ol> <p>Wir haben vor, diese Zeitspannen in Zukunft separat konfigurierbar zu machen. Vor Version 1.2 war der Zeitgeber auf 1200 voreingestellt, wurde dann aber auf 300 herabgesetzt, was immer noch weit mehr ist, als in den meisten Situationen ben÷tigt wird. Die Voreinstellung wurde nicht weiter herabgesetzt, da gelegentlich noch Stellen im Code existieren k÷nnen, wo der Zeitgeber nicht zurⁿckgesetzt wird, wenn ein Paket verschickt wird.</p> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a>-<a name="usecanonicalname" id="usecanonicalname">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt, wie der Server seinen eigenen Namen und Port ermittelt</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> <tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>UseCanonicalName Off</code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p>In vielen Situationen muss der Apache eine <em>selbstreferenzierende</em> URL -- d.h. eine URL, die auf den selben Server zurⁿck verweist -- zusammenbauen. Bei <code>UseCanonicalName On</code> verwendet der Apache den Hostnamen und Port, der in der <code class="directive"><a href="#servername">ServerName</a></code>-Anweisung angegeben ist, um den kanonischen Namen des Servers zu erstellen. Dieser Name wird in allen selbstreferenzierenden URLs sowie in CGI-Skripten fⁿr die Werte von <code>SERVER_NAME</code> und <code>SERVER_PORT</code> verwendet.</p> <p>Bei <code>UseCanonicalName Off</code> bildet der Apache selbstreferenzierende URLs, indem er den vom Client ⁿbermittelten Hostnamen und Port verwendet, sofern diese vorhanden sind (andernfalls wird der kanonische Name, wie oben beschrieben, benutzt). Die Werte sind die gleichen, die zur Anwendung von <a href="../vhosts/name-based.html">namensbasierten virtuellen Hosts</a> verwendet werden, und sie sind mit den gleichen Clients verfⁿgbar <span class="transnote">(<em>Anm.d.▄.:</em> , die auch in der Lage sind, auf namensbasierte virtuelle Hosts zuzugreifen, d.h. einen <code>Host</code>-Header mitschicken)</span>. Die CGI-Variablen <code>SERVER_NAME</code> und <code>SERVER_PORT</code> werden ebenfalls aus den vom Client angeboten Werten erstellt.</p> <p>Ein Intranet-Server, auf den Anwender mit kurzen Namen wie <code>www</code> zugreifen, ist ein Beispiel, wo dies sinnvoll sein kann. Sie werden bemerken, dass der Apache den Benutzer auf <code>http://www.domain.com/splat/</code> umleitet, wenn dieser einen Kurznamen und eine URL, die einem Verzeichnis entspricht, ohne abschlie▀enden SchrΣgstrich eingibt, wie z.B. <code>http://www/splat</code>. Wenn Sie Authentisierung aktiviert haben, bewirkt dies, dass der Benutzer sich zweimal identifizieren muss (einmal fⁿr <code>www</code> und noch einmal fⁿr <code>www.domain.com</code> -- lesen Sie fⁿr weitere Informationen <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">die FAQ zu diesem Thema</a>). Wenn <code class="directive">UseCanonicalName</code> jedoch auf <code>Off</code> gesetzt ist, denn wird der Apache zu <code>http://www/splat/</code> umleiten.</p> <p>Es existiert noch eine dritte Option, <code>UseCanonicalName DNS</code>, die fⁿr den Betrieb von IP-basierten Massen-Virtual-Hosts gedacht ist, um antiquierte Clients zu unterstⁿtzen, die keinen <code>Host:</code>-Header bereit stellen. Um selbstreferenzierende URLs zu ermitteln, fⁿhrt der Apache bei dieser Option ein Reverse-DNS-Lookup auf die IP-Adresse des Servers aus, zu der der Client Verbindung aufgenommen hat.</p> <div class="warning"><h3>Warnung</h3> <p>Wenn CGI-Skripte Vermutungen aufgrund des Wertes von <code>SERVER_NAME</code> anstellen, k÷nnen sie durch diese Option fehlschlagen. Clients steht es im Wesentlichen frei, einen Wert fⁿr den Hostnamen anzugeben, wie er will. Wenn das CGI-Skript <code>SERVER_NAME</code> jedoch lediglich dazu verwendet, selbstreferenzierende URLs zu erstellen, sollte das gerade noch in Ordnung sein.</p> </div> <h3>Siehe auch</h3> <ul> <li><code class="directive"><a href="#servername">ServerName</a></code></li> <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> </ul> </div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a>-<a name="virtualhost" id="virtualhost">Direktive</a></h2> <table class="directive"> <tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>EnthΣlt Direktiven, die nur auf bestimmte Hostnamen oder IP-Adressen angewendet werden</td></tr> <tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code><VirtualHost <var>Adresse</var>[:<var>Port</var>] [<var>Adresse</var>[:<var>Port</var>]] ...> ... </VirtualHost></code></td></tr> <tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> <tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr> <tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr> </table> <p><code class="directive"><VirtualHost></code> und <code></VirtualHost></code> werden dazu verwendet, eine Gruppe von Direktiven zusammenzufassen, die nur auf einen bestimmten virtuellen Host angewendet werden. Jede Direktive, die im Virtual-Host-Kontext zulΣssig ist, kann verwendet werden. Wenn der Server eine Anfrage fⁿr ein bestimmtes Dokument eines bestimmten virtuellen Hosts empfΣngt, dann benutzt er die im <code class="directive"><VirtualHost></code>-Container enthaltenen Konfigurationsanweisungen. <var>Adresse</var> kann sein:</p> <ul> <li>Die IP-Adresse des virtuellen Hosts.</li> <li>Ein voll qualifizierter Domainname fⁿr die IP-Adresse des virtuellen Hosts.</li> <li>Das Zeichen <code>*</code>, welches nur in Kombination mit <code>NameVirtualHost *</code> verwendet wird, um allen IP-Adressen zu entsprechen.</li> <li>Die Zeichenkette <code>_default_</code>, die nur mit IP-basierten virtuellen Hosts verwendet wird, um nicht zugewiesene IP-Adressen aufzufangen.</li> </ul> <div class="example"><h3>Beispiel</h3><p><code> <VirtualHost 10.1.2.3><br /> <span class="indent"> ServerAdmin webmaster@host.foo.com<br /> DocumentRoot /www/docs/host.foo.com<br /> ServerName host.foo.com<br /> ErrorLog logs/host.foo.com-error_log<br /> TransferLog logs/host.foo.com-access_log<br /> </span> </VirtualHost> </code></p></div> <p>IPv6-Adressen mⁿssen in eckigen Klammern angegeben werden, da die optionale Portnummer sonst nicht erkannt werden kann. Hier ein IPv6-Beispiel:</p> <div class="example"><p><code> <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br /> <span class="indent"> ServerAdmin webmaster@host.example.com<br /> DocumentRoot /www/docs/host.example.com<br /> ServerName host.example.com<br /> ErrorLog logs/host.example.com-error_log<br /> TransferLog logs/host.example.com-access_log<br /> </span> </VirtualHost> </code></p></div> <p>Jeder virtuelle Host muss einer anderen IP-Adresse, einem anderen Port oder einem anderen Hostnamen fⁿr den Server entsprechen. Im ersten Fall muss die Servermaschine so eingerichtet sein, dass sie IP-Pakete fⁿr mehrere Adressen akzeptiert. (Wenn der Rechner nicht mehrere Netzwerkkarten besitzt, kann dies mit dem Befehl <code>ifconfig alias</code> durchgefⁿhrt werden -- sofern Ihr Betriebssystem das unterstⁿtzt).</p> <div class="note"><h3>Anmerkung</h3> <p>Die Verwendung von <code class="directive"><VirtualHost></code> beeinflusst <strong>nicht</strong>, an welchen Adressen der Apache lauscht. Sie mⁿssen mit <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> sicherstellen, dass der Apache an der richtigen Adresse lauscht.</p> </div> <p>Bei der Verwendung IP-basierter virtuellen Hosts kann der spezielle Name <code>_default_</code> benutzt werden. In diesem Fall weist der Apache jede IP-Adresse diesem virtuellen Host zu, die nicht explizit in einem anderen virtuellen Host angegeben ist. Falls kein virtueller Host <code>_default_</code> angegeben ist, wird die "Hauptserver"-Konfiguration, die aus allen Definitionen au▀erhalb der Virtual-Host-Abschnitte besteht, fⁿr nicht passende IPs verwendet. (Beachten Sie jedoch, dass eine IP-Adressen die zu einer <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code>-Anweisung passt, weder den "Hauptserver" noch den virtuellen Host <code>_default_</code> verwendet. Lesen Sie fⁿr weitere Details die Dokumentation zu <a href="../vhosts/name-based.html">namensbasierten virtuell Hosts</a>.)</p> <p>Sie k÷nnen einen speziellen <code>:Port</code> angeben, um den entsprechenden Port zu wechseln. Falls nicht angegeben, wird er auf den gleichen Port voreingestellt, wie die letzte <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>-Anweisung des Hauptservers. Sie k÷nnen auch <code>:*</code> angeben, um alle Ports dieser Adresse zu akzeptieren. (Dies wird zusammen mit <code>_default_</code> empfohlen.)</p> <div class="warning"><h3>Sicherheit</h3> <p>Lesen Sie das Dokument <a href="../misc/security_tips.html">Sicherheitshinweise</a> fⁿr Details, warum Ihre Sicherheit gefΣhrdet sein kann, wenn das Verzeichnis, in dem Protokolldateien gespeichert werden, fⁿr jemanden anderes als den Benutzer beschreibbar ist, der den Server gestartet hat.</p> </div> <h3>Siehe auch</h3> <ul> <li><a href="../vhosts/">Apache-Dokumentation zu virtuellen Hosts</a></li> <li><a href="../dns-caveats.html">Probleme bezⁿglich DNS und Apache</a></li> <li><a href="../bind.html">Bestimmen, welche Adressen und Ports der Apache verwendet</a></li> <li><a href="../sections.html">Wie die Abschnitte <Directory>, <Location> und <Files> arbeiten</a> fⁿr eine ErlΣuterung, wie diese verschiedenen Abschnitte miteinander kombiniert werden, wenn eine Anfrage empfangen wird</li> </ul> </div> </div> <div class="bottomlang"> <p><span>Verfⁿgbare Sprachen: </span><a href="../de/mod/core.html" title="Deutsch"> de </a> | <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> </div><div id="footer"> <p class="apache">Copyright 1995-2006 The Apache Software Foundation or its licensors, as applicable.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div> </body></html>